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

SQLインジェクションを防ぐためにmysql_real_escape_stringをどこで使用しますか?

    基本的に、安全でないデータ(ユーザー入力、データベース、ファイル、または外部Webサイトからの値、つまり、100%ではないデータ)を使用するたびに 安全であることを確認してください)SQLクエリでは、 mysql_real_escape_string OWASPによる ことに注意してください。 、この関数は動的テーブル名をエスケープするために安全ではありません(ただし、これは「基本的な」ユーザー入力挿入よりもはるかに一般的ではありません)。

    SQLインジェクションに関するOWASPの記事 全体をご覧になることをお勧めします。 、およびWebサイトの残りの部分を閲覧することもできます。これは、Webアプリケーションのセキュリティに関する優れた情報源です。

    IMO、SQLインジェクションを防ぐための推奨される方法は、準備されたステートメント

    mysql_real_escape_string()を使用することを選択した場合は覚えておいてください 引用符で区切られた文字列内で使用された場合にのみ機能します。引用符で囲まれていない値には絶対に使用しないでください。これには数値が含まれます。代わりに、ユーザー入力が実際に数値であることを検証してください。



    1. MySQL8.0-クライアントはサーバーから要求された認証プロトコルをサポートしていません。 MySQLクライアントのアップグレードを検討してください

    2. 警告:mysqli_num_rows()は、正確に1つのパラメーターを予期し、2つは指定されています| mysql | mysqli

    3. インデックスの列の順序はどのくらい重要ですか?

    4. djangoを使用して外部データベースからテンプレートにデータをプルする