アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
サニタイズ言うな (スコア:4, 参考になる)
○出力データの適切なエスケープ
Re: (スコア:1, おもしろおかしい)
Re: (スコア:0)
Re: (スコア:0)
システムの動作までおかしくなったら、
適切にエスケープされること、エスケープすれば問題無いデータしか出力されないこと、
どちらも保障できなくなるとか考えられませんか?
Re: (スコア:1, すばらしい洞察)
何が誤った解釈を引き起こさせるかなんて入力時に分かる性質のものではありません。
SQL インジェクションを起こす「危険な文字列」と XSS を起こす「危険な文字列」は全く違いますから。
各脆弱性が起きる条件を少し調べて考えれば、出力時以外にはエスケープを行っても意味が無いことが分かるはずです。
変なデータを入力されてシステムの動作がおかしくなるなら、「変なデータ」を扱う部分でエスケープ相当の無害化が行われていないか不十分ということです。SQL インジェクションや XSS と本質はそう違いません。
データを利用する部分が適切に処理されていればそのような問題は発生しません。
# 仕様バグで仕様に脆弱性があってエスケープに相当するものが無い場合はちょっと困ったことになりますが…。
Re:サニタイズ言うな (スコア:0)
そう。そもそも、
「出力時」以外のところでは、「エスケープ」という概念自体が成り立たない。
なぜなら、エスケープとはその場の文法に応じて定義されるものだから。
CGI入力とかのところで「エスケープします」とか言うこと自体、全くおかしい。