web-dev-qa-db-ja.com

SQLインジェクションで-の代わりに-+を使用して残りのクエリをコメントする必要があるのはなぜですか?

--を使用して残りのクエリにコメントを付けると機能しないウェブサイトに出会ったことがありますが、--+を試すと機能しました。

MySQL公式ドキュメント には--+などはなく、--と他の2つの方法しかありません。

なぜこれが(詳細に)起こるのですか?これが時々機能し、--が機能しない理由、およびMySQLのマニュアルページにコメント用の--+がない理由を正確に知りたいのですが。

27
Richard Jones

ドキュメントから:

A-シーケンスから行末まで。 MySQLでは、ダブルダッシュ)コメントスタイルでは、2番目のダッシュが---(その後に少なくとも1つの空白または制御文字(スペース、タブ、改行など)である必要があります。セクション1.8.2.4「コメントの開始としての「-」」で説明されているように、この構文は標準のSQLコメント構文とは少し異なります。

(強調鉱山)

多くのURLデコーダは+をスペースとして。

56
AndrolGenhald