[PHP-users 12970] HMTML Tag の回避策 (Re: PHP-users 保存書庫の文字化け)
KOYAMA Tetsuji
php-users@php.gr.jp
Tue, 04 Feb 2003 14:24:33 +0900
小山です。
At Tue, 04 Feb 2003 11:19:57 +0900,
こうちゃ@フリーメール wrote:
> PHPに限らないと思いますが・・・
> 例えば、(何も対応されてない)掲示板の内容に「</table>」などを
> 書込まれると、「画面総崩れ」になってしまいますよね?
>
> これって、思いつく解決法として、
> 1.勝手に全角変換する
> 2.そのままを出力するタグ「<pre>でしたっけ?」を使用する
> (ただし、「</pre>タグを書込まれると対応出来ない^^;
> ってな、事をするしか無いんですよね?
どのような Web アプリケーションであるかにかかわらず、外部からの入力
をそのまま画面に表示するのは、クロスサイトスクリプティング問題を引き起
こす可能性が高いのでやってはいけないことです。
'<' や '>' は、HTML エンティティを用いて '<', '>' に置き換える
べきでしょう。そのために PHP には htmlspecialchars() 関数が用意されて
います。
--
小山 哲志@ビート・クラフト
koyama@beatcraft.com
koyama@hoge.org