■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50


レス数が1000を超えています。残念ながら全部は表示しません。
ReplaceStr.txtを活用するスレ Part3

72 :52:2008/01/03(木) 02:57:03 ID:NtIT47Q90
以下は、メール欄の ://hogehoge.com/ を ttp://hogehoge.com/ に置換するReplaceStr表現です。
これを ttp://pc11.2ch.net/test/read.cgi/pcqa/1175136492/721 に対して適用し、検証してみました。

// リンクされる
<rx2>(^|[^a-zA-Z])(?=://) $1ttp mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) $1ttp$2> mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) >$1ttp$2 mail

// リンクされない
<rx2>(^|[^a-zA-Z])(://[\w./]+) <$1ttp$2 mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) $1ttp$2< mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) $1ttp$2<font> mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) <font>$1ttp$2</font> mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) <b>$1ttp$2</b> mail
<rx2>(^|[^a-zA-Z])(://[\w./]+) <test>$1ttp$2</test> mail

この結果から、「"<" がメール欄に含まれるとき、リンク化処理が無効化される」ことがわかります。
ところが、初めから "<" がメール欄に含まれているレスに対してはリンク化処理が実行されています。
ttp://pc11.2ch.net/test/read.cgi/pcqa/1175136492/721

これは「ReplaceStr.txtはdatを直接書き換えているのと同じ」という仕様に矛盾しています。
ReplaceStrで読み込まれる "<>" がHTMLエンティティ化されるのならXSSの問題はクリアされるので、
リンク化処理を阻む問題はないと思いますが、何か理由あっての仕様でしょうか?

227KB
掲示板に戻る 全部 前100 次100 最新50

0ch BBS 2007-01-24