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: 16 let
|
0