2

有効な場合は次のようになるURLがあります。

site.com/page.php?id=12345

SQLインジェクションに脆弱かどうかを理解しようとしています。この特定の例では、ID 番号であるため、値は正の整数値のみにする必要があります。検索結果ページなど、文字やテキストの文字列などの他の変数を使用することがあります。

ID 変数を抽出するために使用されるコードの例を次に示します。

$variable = "0";
if (isset($HTTP_GET_VARS["id"])) {
  $variable = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS["id"] : addslashes($HTTP_GET_VARS["id"]);
}

URL から変数を取得するほとんどの場合、この方法でアプローチします。

これはSQLインジェクションを防ぐために何かをしていますか?

mysql_real_escape_string を使用する必要がありますか?

私はプリペアド ステートメントについて読んできましたが、それは大変なことのように思えます。私たちはこれらの変数をサイトのあらゆる場所で多くのページやクエリで使用しています。それらを通過して交換することは、短期的または中期的に実行可能ではありません.

準備されたステートメントなしでデータを検証する別の方法があれば、アドバイスをいただければ幸いです。

前もって感謝します。

4

1 に答える 1