ドロップダウンに SQL インジェクション保護は必要ですか?
従来の常識では、SQL インジェクションのリスクがあるためユーザー入力を盲目的に信頼しないように勧められていますが、これは当然のことです。これがドロップダウンにも当てはまるかどうか疑問に思います。結局のところ、ドロップダウンは、限られた事前定義されたオプションのセットをユーザーに提供します。
ただし、ドロップダウンの存在によって SQL インジェクション保護の必要性がなくなるわけではありません。次の点を考慮してください。
開発者コンソールの操作
Firefox 開発者コンソールを使用すると、HTML を操作して、ドロップダウン オプションを SQL インジェクション ステートメントに変更することができます (例を参照)。
[画像: DROP TABLE になるように編集されたドロップダウン値を示す Firefox 開発者コンソールステートメント]
カスタム HTTP リクエスト
ページでドロップダウンの動作が制限されている場合でも、上級ユーザーは単にこれらの制限を無効にするか、curl などのツールを使用してカスタム HTTP リクエストを作成できます。フォームの送信を模倣します。次のカール コマンドは、ドロップダウンを使用している場合でも SQL インジェクションを送信する方法を示しています。
curl --data "size=%27%29%3B%20DROP%20TABLE%20*%3B%20--" http://www.example.com/profile/save
結論
重要なポイントは、ユーザー入力を決して信頼しないということです。重要です。入力方法 (フォーム、ドロップダウン、その他のソース) に関係なく、常に SQL インジェクション保護を実装してください。覚えておいてください:
このルールに従うことで、データベースを保護し、悪意のある攻撃を防ぐことができます。
以上がドロップダウンには SQL インジェクション保護が必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。