Ich hab grad ein Script programmiert, das ich jetzt absichern will.
dazu hab ich mir eine Funktion gebastelt:
Jetzt wolte ich fragen ob mein Script För My_SQL Injections , HTML Code und PHP-Code sicher ist!?
ich wende das immer so an:
Um es anzuzeigen mache ich das mit filter_exit...
dazu hab ich mir eine Funktion gebastelt:
PHP-Code:
function filter($str)
{
$suche = array ('@<script[^>]*?>.*?</script>@si', // JavaScript entfernen
'@<[\/\!]*?[^<>]*?>@si', // HTML-Tags entfernen
'@([\r\n])[\s]+@', // Leerräume entfernen
'@&(quot|#34);@i', // HTML-Entitäten ersetzen
'@&(amp|#38);@i',
'@&(lt|#60);@i',
'@&(gt|#62);@i',
'@&(nbsp|#160);@i',
'@&(iexcl|#161);@i',
'@&(cent|#162);@i',
'@&(pound|#163);@i',
'@&(copy|#169);@i',
'@&#(\d+);@e'); // als PHP auswerten
$ersetze = array ('',
'',
'\1',
'"',
'&',
'<',
'>',
' ',
chr(161),
chr(162),
chr(163),
chr(169),
chr(1) );
$str = preg_replace($suche, $ersetze, $str);
$str = htmlspecialchars($str, ENT_QUOTES);
$str = addslashes($str);
$str = mysql_real_escape_string($str);
return $str;
}
function filter_exit($str) {
$str = stripslashes($str);
return $str;
}
ich wende das immer so an:
PHP-Code:
$var1 = filter($_POST['var1']);
$var2 = filter($_POST['var2']);
$var3 = filter($_POST['var3']);
//usw
//dann wird das in MySQL eingetragen
mysql_query("INSERT INTO `******` ( `tbl1` , `tbl2` , `tbl3` ) VALUES ($var1, $var2, $var3, ) ");
.
Kommentar