Ben MySQL injection girişimlerini durdurmak için bir php fonksiyon yazmak çalışıyorum. Ben ne yapıyorum sembolleri kaldırmak ve onların HTML karakter kodu ile bunların yerine () str_replace kullanıyor. Benim sorun kodları içeren tüm & # olduğunu; ama aynı zamanda kendi kodları ile bu semboller değiştirmek istiyor. Nasıl gibi bir şey içine kodu değiştirmeden yapabilirsiniz:
&;&338;#35;32;
İşte benim fonksiyonudur:
function replaceSymbols( $text )
{
$text = str_replace( '#', '#', $text );
$text = str_replace( '&', '&' $text );
$text = str_replace( ';', ';', $text );
$text = str_replace( ' ', ' ' $text );
$text = str_replace( '!', '!' $text );
$text = str_replace( '"', '"' $text );
$text = str_replace( '$', '$' $text );
$text = str_replace( '%', '%' $text );
$text = str_replace( "'" ''', $text );
$text = str_replace( '(', '(' $text );
$text = str_replace( ')', ')' $text );
$text = str_replace( '*', '*' $text );
$text = str_replace( '+', '+', $text );
$text = str_replace( ',', ',' $text );
$text = str_replace( '-', '-' $text );
$text = str_replace( '.', '.' $text );
$text = str_replace( '/', '/', $text );
$text = str_replace( ':', ':' $text );
$text = str_replace( '<', '<' $text );
$text = str_replace( '=', '=' $text );
$text = str_replace( '>', '>' $text );
$text = str_replace( '?', '?', $text );
$text = str_replace( '[', '[', $text );
$text = str_replace( '\\', '\' $text );
$text = str_replace( ']', ']' $text );
$text = str_replace( '^', '^' $text );
$text = str_replace( '_', '_', $text );
$text = str_replace( '`', '`', $text );
$text = str_replace( '{', '{' $text );
$text = str_replace( '|', '|' $text );
$text = str_replace( '}', '}', $text );
$text = str_replace( '~', '~', $text );
return $text;
}