ホームページ >データベース >mysql チュートリアル >「mysql_real_escape_string()」を使用しても SQL インジェクションは発生しますか?
mysql_real_escape_string()を使用している場合でも、SQLインジェクションはまだ発生する可能性があります
一般に、mysql_real_escape_string()がSQL注入を防ぐことができると考えられていますが、特定の場合、SQL注入がまだ発生する可能性があります。次のことは、この攻撃がどのように起こったかを説明しています:
サーバー文字セットを設定して、ASCIIバックスロープ(0x5C)と無効なマルチライン文字セット(GBKなど)を許可します。これは、set namesステートメントを介して実装できます。
0xBF27で始まる効果的な負荷を作成します。指定された文字セット(たとえば、GBK)では、これはラテン語で0x27(skimp)に変換される無効なマルチライン文字を意味します。
対策を緩和する:
PDOでのシミュレーション前処理ステートメントを無効にします。
次の条件が検証されています:以上が「mysql_real_escape_string()」を使用しても SQL インジェクションは発生しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。