質問

前の質問で、クエリが発生しやすいと言われましたSQLインジェクション。

get_stats = mysql_query("SELECT * 
                               FROM visitors 
                              WHERE site='

前の質問で、クエリが発生しやすいと言われましたSQLインジェクション。

<*>

この問題に取り組む最も簡単な方法は何ですか?また、注射の問題についてさらに読んでいますか? (Googleで見逃すかもしれないもの)。ありがとう!

GET[site]' AND date BETWEEN '$start_date' AND '$end_date' ");

この問題に取り組む最も簡単な方法は何ですか?また、注射の問題についてさらに読んでいますか? (Googleで見逃すかもしれないもの)。ありがとう!

役に立ちましたか?

解決

準備されたステートメントを使用します。

ほとんどの場合、プリペアドステートメントは、クエリとパラメーターを安全な方法で結合します。

他のヒント

$ _ GET ['site']はブラウザのURLから直接取得する値です。つまり、ユーザーはこの値を必要なものに簡単に変更できます。実際に送信する前に、すべての値を確認/サニタイズする必要がありますデータベースに。

このようなものは出発点であり、さらに多くの作業を行うことができ、多くの方法があります。すべての変数をサイト全体に簡単に渡すカスタム関数/クラスを作成します。 >

$site = mysql_real_escape_string(

$ _ GET ['site']はブラウザのURLから直接取得する値です。つまり、ユーザーはこの値を必要なものに簡単に変更できます。実際に送信する前に、すべての値を確認/サニタイズする必要がありますデータベースに。

このようなものは出発点であり、さらに多くの作業を行うことができ、多くの方法があります。すべての変数をサイト全体に簡単に渡すカスタム関数/クラスを作成します。 > <*>GET['site']); $start_date = mysql_real_escape_string($start_date); $end_date = mysql_real_escape_string($end_date); get_stats = mysql_query("SELECT * FROM visitors WHERE site='$site' AND date >= '$start_date' AND date <= '$end_date' ");

mysql_real_escape_string は最も基本的なセキュリティの最も簡単な形式はこちら。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top