[PHP-users 12983] Re: HMTML Tag の回避策 (Re: PHP-users 保存書庫の文字化け)
しょうなり [ml]
php-users@php.gr.jp
Tue, 04 Feb 2003 15:33:20 +0900
しょうなりです。
S.Okazaki さんは書きました:
>function sanitize($str) {
> $str=ereg_replace("\&","&",$str);
> $str=ereg_replace("\<","<",$str);
> $str=ereg_replace("\>",">",$str);
> $str=ereg_replace("\"",""",$str);
> return $str;
>}
>私はこれだけしか対処していません。
>出力する文章は、必ずこの関数を通して出力しています。
>これで十分だと自分では思っているのですが、何かまずい
>所はあるでしょうか?
いろいろ条件が必要ですが、こういう場合はどうでしょうか?
<input type=text name=key value=<?= sanitize($_GET["key"]) ?>>
という風に、それぞれの値を " でくくらない書き方をする人の場合、
$_GET["key"] に
hoge onFocus=while(1){}
という値を渡されると、まずいことになるでしょう。
これが起きるには条件が厳しいとは思いますが、
フリーのPerlスクリプトを見てると、こういう書き方をよく目にしましたので…。
--
print <<<SIGNATURE
しょうなり@信州 肥田昌也
Email: shounari@webappli.jp
HomePage: http://www.webappli.jp/ => JSlayout 評価版
SIGNATURE;