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

これはSQLインジェクションを停止するために機能しますか

    これはある程度効果的ですが、最適ではありません。_GETおよび_POSTで受信するすべてのデータがデータベースに格納されるわけではありません。代わりにページに表示したい場合があります。その場合、mysql_real_escape_stringは害を及ぼすだけです(代わりに、htmlentitiesが必要です)。

    私の経験則では、エスケープする必要のあるコンテキストに置く直前にのみ、何かをエスケープします。

    このコンテキストでは、パラメータ化されたクエリを使用する方がよいでしょう。そうすれば、エスケープが自動的に行われます。



    1. MariaDB ROUND()とFLOOR()

    2. mysql拡張機能は非推奨であり、将来削除される予定です。代わりにmysqliまたはPDOを使用してください。

    3. MySQL InnoDBテーブル間の外部キーが機能しない...なぜですか?

    4. PostgreSQLコマンドラインユーティリティを終了する方法:psql