0
可能性の重複:
Best way to stop SQL Injection in PHP
The ultimate clean/secure function私のエスケープ機能は本当に安全ですか?
私のウェブサイトは、SQLインジェクション経由で攻撃されたと今、私はそれを改善する必要があります。 PHPのescape()
で、エスケープされた文字列を返す関数を作成しています。私はハッカーではないので、私のエスケープ機能を改善するために私を助けてください。現在のバージョンは次のとおりです:
function escape($string){
$string = stripslashes($string);
$string = mysql_real_escape_string($string);
$string = strip_tags($string);
$string = str_replace('%','',$string);
$string = str_replace('_','',$string);
return $string;
}
私の質問は:それはそれを修正する方法であれば、これはハッキング可能ですか?ありがとう!
つまり、率直に言えば、ひどい。これは、データが何であるか、どこに置かれるかについて考慮せずに適用された置換の任意のコレクションです。 – Quentin
ユーザー入力が他の場所(HTMLドキュメントやJavaScriptブロック、電子メール、PDFなど)に挿入された場合の攻撃から保護するため、これらの攻撃を具体的に調査します。世界的な万能薬はない。 – Quentin
'mysql_real_escape_string'を除いてあなたの例の中のすべての関数は意味をなさない(' stripslashes'は魔法の引用符をつけているとちょっと意味をなさない)。 –