「サニタイズ言うなキャンペーン」に癒されてみる
2006-11-29


<h2><?php spill($subject); ?></h2> <div id="detail"> <?php $detail->filter(); // メソッドの中で、然るべき変換を行う ?> </div>

こうやって詰めていけば、プログラムも設計も実にシンプルに考えることができるはずなのに、実際にはそんな単純じゃないんだーなどと勝手に思い込んじゃう人ってのは少なくないようで、その為に何だかかみ合わないやり取りが延々続くということはおいらも何度か経験があります。まさに、

ていうかこんな当たり前のことを改めて書かなくても、 という話だと思うのだが、どうもたとえば「PHPのmagic quoteはおかしい」 とか「ASP.NETのValidateRequestは本質的な対策になってない」とか言っても 通じない人に私はたまに会うし、高木さんに 「プログラミング解説書籍の脆弱性をどうするか」の記事で批判された 後藤さんの反論で、

htmlspecialchars() は、2重にかけるとおかしくなる関数です。リクエスト変数について「かけないこと」ほどは問題にならないものの、「かけすぎ」ればやはりおかしく表示されます。

こういう意見が出てくるのはいかがなものか、と私には思える (件の本は読んでないので、本そのものについて私は何も言えませんが)。

…というようなことが度々あって、しかもそういうことを言う人が、物凄く自身ありげに「俺様はこっち方面に詳しいんだぜ」ってオーラを醸し出してくれちゃったりされてしまうと、ビビリなおいらとしては微妙に自信なくなってしまう (とか言いながら自分で作るものについてはまったく気にも留めなかったりするわけですが)。

そういう意味では、この「サニタイズ言うなキャンペーン」はおいらにとってはとても癒されるキャンペーンであり、もっともっとこの輪が広がってくれることを願って止まないのであります。。。(;_;)/

ところで。。。

変だ変だと思いつつもそうした、というのには、 「PHPの郷に入ったら郷に従うべきなのかなあ」と思ったとか、 いくつか理由はあるのだが、やっぱりまずいと思うので注釈を追加しました。

個人的には、magic_quote_gpc が ON でも OFF でも良いように、以下のような入力用のラッパーを作ってあげるとよいのではないかと思っています。

function readPost($key) {
    return get_magic_quotes_gpc() ?
        stripslashes($_POST[$key]) :
        $_POST[$key];
}

しかしこんなことを強要する PHP って言語はつくづくアレだよなぁ。。。


戻る
[設計・開発]
[戯言]

コメント(全5件)
コメントをする


記事を書く
powered by ASAHIネット