sql >> データベース >  >> RDS >> Mysql

ドロップダウンを使用した場合、SQLインジェクションを防ぐ必要がありますか?

    はい、これから保護する必要があります。

    Firefoxの開発者コンソールを使用して理由をお見せしましょう:

    このデータをクレンジングしないと、データベースが破壊されます。 (これは完全に有効なSQLステートメントではないかもしれませんが、私が自分の主張を理解したことを願っています。)

    ドロップダウンで使用できるオプションを制限したからといって、意味するわけではありません サーバーに送信できるデータが制限されています。

    ページの動作を使用してこれをさらに制限しようとした場合、私のオプションには、その動作を無効にするか、とにかくこのフォーム送信を模倣するカスタムHTTPリクエストをサーバーに書き込むことが含まれます。 curl というツールがあります まさにそのために使用され、私は考えます とにかくこのSQLインジェクションを送信するコマンドは、次のようになります。

    curl --data "size=%27%29%3B%20DROP%20TABLE%20*%3B%20--"  http://www.example.com/profile/save
    

    (これは完全に有効なcurlコマンドではないかもしれませんが、繰り返しになりますが、私は自分の主張を理解できたと思います。)

    繰り返しますが、

    ユーザー入力を絶対に信用しないでください。常に身を守りましょう。

    ユーザー入力が安全であると思い込まないでください。フォーム以外の手段で届いたとしても、安全ではない可能性があります。 SQLインジェクションから身を守ることを忘れるほど信頼できるものはありません。



    1. 素晴らしい24人のコンカレントマネージャーの面接の質問

    2. MySQLでGroupBy句を使用して行をグループ化する

    3. Railsで、{adapter => postgresqlのデータベースを作成できませんでした、

    4. 修正方法「from句のバルク行セットに相関名を指定する必要があります。」 SQLServerで