gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

入力時無毒化の弊害への考察:別角度から

んと。
一般に「生兵法は怪我の元」とか「半可通」とか色々ありますが。
ぶっちゃけて「中途半端な対応はなにもしないよりもまずい」ケースが多々あります。


完全に「未対応」だと色々と焦燥感も出せるのですが。
「何となく対応してるっぽい」感じだと、「気分的には対応している気分なのでそれ以上なにもしない」のに「実際には抜け道だらけでやられ放題」な上に「警戒してないもんだから気付かねぇ気付かねぇ」という厄介な副次効果まで期待できます B-p


もちろん「入力時サニタイズ派」の方々がいう「出力時だと漏れやすいからまず入力で食い止めようよ」という発言は、一見正論に聞こえてしまうのですが。
実際には「厄介事が十分に可能性ある」状態でしかも「基本的に"エスケープ"の概念的におかしい」上で「対策したつもり〜」にしてしまう、大変に厄介なものだったりするわけでして。
むろんもっぱら「几帳面にあちこちにある全てに対応」なんてそもおいちゃんがそんな丁寧な事は不可能なのでw
基本は「随所で関所」。HTMLの出力は「必ず通る関所」があって、SQLをDBに投げるときには「必ず通る関所」があって、そんな関所一箇所だけでチェック。楽でしょ?


本筋は意味も理由もあるからこその本筋なので。
スジを外すなら「相応の理由があってなお悩み」、それでもやむを得ないなら「外法である事をわきまえてコメントに書いて申し送った上で」最小限使う、ってのが基本なのではなかろうかと思います。


…っつかいやまぁ本音言いますとね。
「まさか未だに"入力時"言う人いたんだ」ってのがぶっちゃけ本音でございます orz