Referer SPAM などの対応のために、:config/plugin/referer/config に IGNORE を定義することで、リンクしないようにする機能がある。
その IGNORE の定義時に、http:// を外して定義させる仕様にしたのは、Referer SPAM などのリンクを抑止することが目的なので、定義すらリンクされることは望ましいことではない。ということから、加えた仕様であるものの、現仕様では、その機能は無くなって、http:// から定義しないとマッチしない。
この仕様を、当初仕様に戻すか?現仕様のままにするのか? について、議論したく、ここに書きました。
diff -u -r1.5 referer.inc.php --- referer.inc.php 20 Aug 2003 10:54:27 -0000 1.5 +++ referer.inc.php 21 Mar 2004 15:09:39 -0000 @@ -194,7 +194,7 @@ foreach ($ignore_url as $x) { - if (strpos($url,$x) === 0) + if (strpos($url,$x) !== FALSE) { return 1; }
@@ -115,6 +115,7 @@ $url = preg_replace('/([" \x80-\xff]+)/e','rawurlencode("$1")',$url); $s_url = htmlspecialchars($url); + $s_url_c = mb_convert_encoding(rawurldecode($s_url),SOURCE_ENCODING,"auto"); $lpass = get_passage($ltime,FALSE); // 最終更新日時からの経過時間 $spass = get_passage($stime,FALSE); // 初回登録日時からの経過時間 @@ -127,7 +128,7 @@ // 適用不可データのときはアンカーをつけない $body .= referer_ignore_check($url) ? - " <td>$s_url</td>\n" : " <td><a href=\"$s_url\">$s_url</a></td>\n"; + " <td>$s_url</td>\n" : " <td><a href=\"$s_url\">$s_url_c</a></td>\n"; $body .= " </tr>\n"; } $href = $script.'?plugin=referer&page='.rawurlencode($page);