間違いなく、SQL インジェクションは Web アプリケーションにとって最も深刻なセキュリティ問題ですが、多くのブログやチュートリアルは非現実的な例を誇張して誤解を招いていると思います (または、私が間違っているかもしれません)。一般的な例は、次の値を入力する場合です。
; DELETE FROM ...
これは、SQL の基礎に基づいた理論にすぎません。PHP
たとえば、現実の世界では、mysql_query()
またはmysqli->query()
最初の SQL クエリのみを実行します。後に何かを追加する;
と、構文エラーが発生します。
SELECT
のクエリでSQL インジェクションによって WRITE アクションを行うことはできますPHP
か?
更新:私のポイントは、PHP で 2 番目のクエリを作成できるかどうかを明確にすることです。SQL インジェクションを防ぐ必要性やその方法については議論していません。最終的な解決策は、明らかに準備されたステートメントです。