PHP の PDO を使用してパラメータ化された SQL クエリを監視する方法
PHP では、PDO によりパラメータ化されたクエリが有効になり、SQL ステートメント内のトークンを実際の値に置き換えることで、 SQLインジェクション。ただし、パラメータ化された最終クエリを取得するのは難しい場合があります。
最終クエリを取得できますか?
残念ながら、答えはノーです。クエリとパラメータはデータベースに別々に送信されるため、完全な SQL クエリは PHP 側に存在しません。
回避策: SQL クエリのログ記録
1 つの解決策は次のとおりです。 SQL クエリをログに記録します。これにより、サーバー上で実際に実行される内容を監視できるようになります。 MySQL では、これを行うには、my.cnf (または my.ini) ファイルを変更し、次のログ ステートメントを追加します。
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]
注: この回避策は、次の場合には使用しないでください。セキュリティとパフォーマンス上の懸念により実稼働環境にアクセスできません。
以上がPHP の PDO で最終的なパラメータ化された SQL クエリを取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。