2012-03-31 7 views
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; 

} 

私の質問は:それはそれを修正する方法であれば、これはハッキング可能ですか?ありがとう!

+3

つまり、率直に言えば、ひどい。これは、データが何であるか、どこに置かれるかについて考慮せずに適用された置換の任意のコレクションです。 – Quentin

+0

ユーザー入力が他の場所(HTMLドキュメントやJavaScriptブロック、電子メール、PDFなど)に挿入された場合の攻撃から保護するため、これらの攻撃を具体的に調査します。世界的な万能薬はない。 – Quentin

+0

'mysql_real_escape_string'を除いてあなたの例の中のすべての関数は意味をなさない(' stripslashes'は魔法の引用符をつけているとちょっと意味をなさない)。 –

答えて

-1

この機能は、安全性とはまったく関係ありません。
それはXSS注射のいくつかの種類からかろうじてあなたを保護しています。それで全部です。

関連する問題