mysql_query
の設計 関数は、注入するデータのすべてのビットをエスケープするように注意する必要があるようなものです。1つでも見逃すと、アプリケーション全体が自動SQL脆弱性エクスプロイトツール
。
両方のmysqli
およびPDOは、必須のプレースホルダーをサポートします。 クエリがSQLインジェクションのバグから安全であることを確認します。 mysql_real_escape_string
を呼び出す すべてに面倒なだけでなく、エラーが発生しやすく、そこで問題が発生します。
mysql
関数はPHPのごく初期の製品であり、両方のmysqli
によって提供される新しいオブジェクト指向機能よりも大幅に制限されています。 オプションとして、または設計によるPDO。
これら2つの新しいインターフェイスのいずれかを使用する理由はいくつかありますが、最も重要なのはmysql_query
です。 関数は、実稼働コードで使用するには危険すぎます。これを使用すると、いくつかの非常に深刻な問題から常に1つの間違いを犯すことになります。
パスワードやクレジットカード番号でいっぱいのデータベースのリッピングが表示され続けるのには理由があります。明らかなSQLインジェクションポイントがあると、サイトを完全に引き継ぐのはほとんど簡単になります。