| Autor | Zpráva | ||
|---|---|---|---|
| Akacko Profil |
#1 · Zasláno: 12. 4. 2008, 15:44:51
Pokouším se vytvořit ultimatní funkci na ochranu většiny části webu (prostý text, SQL dotazy, inputy...). Po přečtení páru článků jsem napsal toto:
function protect($var, $case)
{
switch($case)
{
case 'input':
if ( get_magic_quotes_gpc() )
{
$protected = htmlspecialchars(stripslashes($var));
}
else
$protected = htmlspecialchars($var);
break;
case 'link':
$protected = urlencode($var);
break;
case 'text':
$protected = htmlspecialchars($var);
break;
case 'sql':
if ( !get_magic_quotes_gpc() )
$protected = addslashes($var);
else
$protected = $var;
break;
default:
$protected = NULL;
break;
}
return $protected;
}
Ke kódu jen dodám, že číselné hodnoty v SQL dotazech ošetřuji zvlášť funkcí intval(). Je toto dostatečná ochrana proti XSS (cross site scripting) či sql injection? |
||
| krteczek_mimo Profil * |
#2 · Zasláno: 13. 4. 2008, 00:51:17
pokud jde o magic_quotes_gpc použij fci od p. Vrány: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=53 453 a budeš mít data vždy připravena ve stejném stavu
a pokud se jedná o SQLinjection tak na ošetření používám mysql_real_escape_string() no a k tomu XSS použij v prezentační vrstzvě htmlspecialchars($var); |
||
|
Časová prodleva: 18 let
|
|||
0