*Referer の IGNORE 定義について [#v1210820] -ページ: BugTrack -投稿者: [[upk]] -優先順位: 低 -状態: 提案 -カテゴリー: その他 -投稿日: 2004-03-21 (日) 23:12:30 -バージョン: **メッセージ [#n87a930a] Referer SPAM などの対応のために、:config/plugin/referer/config に IGNORE を定義することで、リンクしないようにする機能がある。 その IGNORE の定義時に、http:// を外して定義させる仕様にしたのは、Referer SPAM などのリンクを抑止することが目的なので、定義すらリンクされることは望ましいことではない。ということから、加えた仕様であるものの、現仕様では、その機能は無くなって、http:// から定義しないとマッチしない。 この仕様を、当初仕様に戻すか?現仕様のままにするのか? について、議論したく、ここに書きました。 ---- - スキーマ部分を書いてしまうとリンクになってしまって、Refererの発生源になり得るわけですから。当初の仕様どおり「ホスト名以降」で統一していいと思います。 -- [[ぱんだ]] &new{2004-03-22 (月) 00:13:29}; - 直すとしたら、こんな感じ((これだと、スキーマを''省略してもかまわない''になってしまいますが))ですかね? -- [[ぱんだ]] &new{2004-03-22 (月) 00:13:29}; 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; } -プロトコルを明示するのも、今1つとも思うので、この修正で、OKと思います。この案件とは違うのですが、referer に手を入れるなら、ついでに、mb_convert_encoding() もやって表示してくれると、パラメータが日本語化されて良いんですけどね。まぁ、本来 BugTrackを分けるべきかと思いますけど。-- [[upk]] &new{2004-03-22 (月) 02:46:47} @@ -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); #comment