« Wikiのフロントページの訪問者数が1万目前RIMが特許紛争に勝つ »

8 コメント

コメント from: Yasuo Ohgaki [メンバー] メール · http://www.ohgaki.net/
PHP的にはphpinfoのPHP_SELFで< >を書けないようにするのではなく、htmlentitiesでエンティティ変換するだけで十分と思います。何故こうなったのか記憶にありません。
2006/02/28 @ 01:46
コメント from: Yasuo Ohgaki [メンバー] メール · http://www.ohgaki.net/
サンプルスクリプトにはPHP_SELFを使っている例が多いのであまり気にせず使われているような気がします。

少し前に日本サイトのリファラスパムがこのブログにも来ている、と書きましたがその時にリファラスパムに利用されている可能性がPHPスクリプトを見つけて中身を見てみるとPHP_SELFだった、という感じです。

実際に多いか?は不明です。
2006/02/28 @ 15:19
コメント from: Yasuo Ohgaki [メンバー] メール · http://www.ohgaki.net/
PHP_SELFの使い方の間違いの他に、割とよく見る間違いにはhtmlentities, htmlspecialcharsの使い方が間違っているケースがあります。エンコーディングは省略したとしても、最低限

htmlentities($str, ENT_QUOTES);
htmspecialchars($str, ENT_QUOTES);

としないとXSSが可能になる場合があります。

ブログじゃなくてWikiにまとめた方が役立つかも知れませんね。
2006/02/28 @ 15:23
コメント from: Yasuo Ohgaki [メンバー] メール · http://www.ohgaki.net/
色々あるのですが、よく見かける間違いはPOSIX正規表現関数の利用方法です。

ereg/eregi等はバイナリセーフではありません。

つまり、\0があると文字列の終端として取り扱います。この仕様を知らずにereg/eregi等を利用していると様々なセキュリティホールを作る可能性があります。

この手のTipsはやはりWikiにまとめる方が良いかな?
2006/03/01 @ 01:21
コメント from: tk [訪問者]
こんにちは。

htmspecialchars($str, ENT_QUOTES);

じゃなくて、

htmspecialchars($str);

で終わらせてしまった場合の、
問題例が非常に欲しいです!!

2006/03/23 @ 14:22
コメント from: Yasuo Ohgaki [メンバー] メール · http://www.ohgaki.net/
2006/03/23 @ 15:32
コメント from: youhei [訪問者]
PHP_SELFの変わりに使うのは、SCRIPT_FILENAMEじゃなくて、SCRIPT_NAMEじゃないですか?SCRIPT_FILENAMEはサーバ上のパスになる気がします。
2006/06/27 @ 13:01
コメント from: Yasuo Ohgaki [メンバー] メール · http://www.ohgaki.net/
確かにそうですね。ブログはさらっと書いているので簡単な間違いもあるのでまた見つけたらよろしくお願いします。
2006/06/27 @ 14:11

コメントを残す


Your email address will not be revealed on this site.

頂いたURLは表示されます。
PoorExcellent
(改行が自動で <br /> になります)
(Name, email & website)
(ユーザに、メッセージ・フォームを通じた連絡を許可します (あなたのメール・アドレスは表示されません))