トップ «前の日記(2008-10-16) 最新 次の日記(2008-10-18)» 編集

(゚Д゚)ウボァー日記


2008-10-17

_ [LAN/NAS]

あとはリンク元からLive Searchを消す方法だ。

フィルタリングする条件はIPなので、それに見合うプラグインを探した結果、以下のフィルタ発見。

http://elpeo.jp/diary/20041013.html

このままではちょっと使いにくいので少々改造した。これでまた様子見。

あと、@options["counter.deny_remote_addrs"]はマスターのtdiary.confに書く必要があった。

ユーザのtdiary.confに書いた場合、tdiaryの設定を変更すると消えてしまう。

リンク元に日本語が入ると化けるのでそれも直した。

disp_referrer.rbのunescapeで、kconvをrequireして最後にtoeucする。

_ [LAN/NAS]

一応ちゃんと動いてるっぽい。Live Search除け完成。

tdiary/misc/plugin/ja/disp_referrer.rb

'live' => [
[%r{\Ahttp://search\.live\.com/results\.aspx}i, '".#{$1}のLive Search"', ['q'], nil],
[%r{\Ahttp://search\.live\.com/images/results\.aspx}i, '".#{$1}のLive Search(画像)"', ['q'], nil],
[%r{\Ahttp://search\.live\.com/news/results\.aspx}i, '".#{$1}のLive Search(ニュース)"', ['q'], nil],
],

tdiary/tdiary.conf

@options["counter.deny_remote_addrs"] = ["65\\.55\\.109\\.\\d+", "65\\.55\\.110\\.\\d+"]
@options["spam.black_ip"] = @options["counter.deny_remote_addrs"]

tdiary/tdiary/filter/spam.rb

#
# spam.rb: included TDiary::Filter::SpamFilter class
#

module TDiary
module Filter
class SpamFilter < Filter
def black_ip?( address )
@options = @conf.options
if @options["spam.black_ip"]
black_ip = Regexp.new("(tlink|#{@options["spam.black_ip"].uniq.join('|')})", true)
return true if black_ip =~ address
end
false
end

def comment_filter( diary, comment )
!black_ip?( @cgi.remote_addr )
end

def referer_filter( referer )
!black_ip?( @cgi.remote_addr )
end
end
end
end