0

安全なフォームを作成するために誰かを雇ったばかりで、以下に貼り付けたのは大きなコードのスニペットです。

        $_POST = escape_all($_POST);

        $some1 = $_POST['some1'];
        $some2 = $_POST['some2'];
        $some3 = $_POST['some3'];
        $some4 = $_POST['some4'];
        $some5 = $_POST['some5'];
        $some6 = $_POST['some6'];
        $some7 = $_POST['some7'];
        $some8 = $_POST['some8'];

それは正しい方法ですか、それとも mysql_real_escape_string(); を追加する必要がありますか? すべての変数に?

4

1 に答える 1

2

エスケープするカスタム関数を書いたようです。その escape_all 関数が mysql_real_escape 文字列を呼び出している限り、技術的には機能しますが、いくつかの理由から推奨されるソリューションとは言えません。

まず、他の場所でエスケープしないように注意する必要があります。ダブル エスケープが発生しやすくなり、他の問題が発生する可能性があるからです。

また、パフォーマンスが懸念される場合、状況によっては、エスケープする必要のない大量のデータをエスケープすることになる可能性があります。

はい、一般的には mysql の代わりに mysqli を使用することをお勧めします。

于 2012-04-11T03:26:42.620 に答える