これは問題のキャラクターです:
\x1A
なぜそれが脅威をもたらすのですか、そしてそれは何ですか?グーグルはそれが制御文字だと言っていますが、特にデータをエスケープするという文脈では、それが何を意味するのかわかりません。
ありがとう
これは問題のキャラクターです:
\x1A
なぜそれが脅威をもたらすのですか、そしてそれは何ですか?グーグルはそれが制御文字だと言っていますが、特にデータをエスケープするという文脈では、それが何を意味するのかわかりません。
ありがとう
0x1A
は、DOS 時代に EOF (ファイルの終わり) マーカーとして使用されていた ctrl-z です。最新のデータベースでは問題にならないはずですが、古い dos-days SQL パーサーを通過して余分なクエリ ステートメントをこっそり盗み出すために使用された可能性があるため、次のような結果になります。
UPDATE scores SET points=points+1
ctrl-z
DROP TABLE scores
愚かなパーサーは ctrl-z で停止し、「ほら、ファイルの終わりだ」と考えます。文字列全体が DB に渡され、それが「スマート」データベースである場合は、ctrl-z を無視して、喜んでドロップ コマンドを実行します。