-3

間違いなく、SQL インジェクションは Web アプリケーションにとって最も深刻なセキュリティ問題ですが、多くのブログやチュートリアルは非現実的な例を誇張して誤解を招いていると思います (または、私が間違っているかもしれません)。一般的な例は、次の値を入力する場合です。

; DELETE FROM ...

これは、SQL の基礎に基づいた理論にすぎません。PHPたとえば、現実の世界では、mysql_query()またはmysqli->query()最初の SQL クエリのみを実行します。後に何かを追加する;と、構文エラーが発生します。

SELECTのクエリでSQL インジェクションによって WRITE アクションを行うことはできますPHPか?

更新:私のポイントは、PHP で 2 番目のクエリを作成できるかどうかを明確にすることです。SQL インジェクションを防ぐ必要性やその方法については議論していません。最終的な解決策は、明らかに準備されたステートメントです。

4

2 に答える 2

1

アリ、SQL インジェクションは一般的な概念であり、PHP に限定されているわけではありませんが、これらのアクションを実行できるという厳密で迅速なルールではありませんが、そうではありませんが、ハッカーに db スキーマの洞察へのバックドア エントリを提供します。改竄だけでなく、何らかの方法で誰かが危険な情報を見ることは危険です。

于 2012-04-08T07:37:27.100 に答える
1

私のポイントは、PHP で 2 番目のクエリを作成できるかどうかを明確にすることです。

場合によっては - はい。
ただし、インジェクションは 2 番目のクエリの追加に限定されないため、問題ではありません。

ただし、この後者の質問は、質問のタイトルと矛盾しています。

SQL インジェクションは誇張されていませんか?

答えは間違いなくNOです。
なぜなら

PHP の SELECT クエリで SQL インジェクションによって WRITE アクションを行うことは可能ですか?

可能かどうかに関係なく、SELECT クエリは INSERT/UPDATE よりも悲惨な場合があります。

于 2012-04-08T07:46:40.053 に答える