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

PHP:mysql v mysqli v pdo

    mysql_queryの設計 関数は、注入するデータのすべてのビットをエスケープするように注意する必要があるようなものです。1つでも見逃すと、アプリケーション全体が自動SQL脆弱性エクスプロイトツール

    両方のmysqli およびPDOは、必須のプレースホルダーをサポートします。 クエリがSQLインジェクションのバグから安全であることを確認します。 mysql_real_escape_stringを呼び出す すべてに面倒なだけでなく、エラーが発生しやすく、そこで問題が発生します。

    mysql 関数はPHPのごく初期の製品であり、両方のmysqliによって提供される新しいオブジェクト指向機能よりも大幅に制限されています。 オプションとして、または設計によるPDO。

    これら2つの新しいインターフェイスのいずれかを使用する理由はいくつかありますが、最も重要なのはmysql_queryです。 関数は、実稼働コードで使用するには危険すぎます。これを使用すると、いくつかの非常に深刻な問題から常に1つの間違いを犯すことになります。

    パスワードやクレジットカード番号でいっぱいのデータベースのリッピングが表示され続けるのには理由があります。明らかなSQLインジェクションポイントがあると、サイトを完全に引き継ぐのはほとんど簡単になります。



    1. カンマ区切りの文字列を分割し、テーブルに挿入します(int)

    2. IntegrityError:一意性制約とnull以外の違反を区別する

    3. SpringMySQLとRowCallbackHandlerを使用して大規模なデータセットを管理する方法

    4. MySQL for Visual Studioのインストールに失敗しました、エラーコード1603