SpamLookupフィルタ
SpamLookupフィルタを設置してみた。
Flickrプラグイン
まちゅダイアリーからFlickrプラグイン(flickr_plugin-20050811)をいただいて使ってみる。どうも日本語のタイトルにしているとうまくタイトルを取れないようなので(多分$KCODE絡み)正規表現をn付きで生成するようにして、ついでにメソッドの外に出しておく。
あとサイズとかも取れそうなので(いや、よく分からないけど)取れるようにしてみる。それからIDを数値でもよくして、<img>にclass="flickr"を追加。
diff -ruN plugin.orig/flickr.rb plugin/flickr.rb
--- plugin.orig/flickr.rb 2005-08-31 16:39:32.000000000 +0900
+++ plugin/flickr.rb 2005-08-31 17:01:32.000000000 +0900
@@ -24,12 +24,15 @@
return '[ERROR] flickr.rb: API Key is not specified.'
end
@conf['flickr.default_size'] ||= 'thumbnail'
- photo = flickr_photo_info(photo_id, size)
+ photo = flickr_photo_info(photo_id.to_s, size)
if @cgi.mobile_agent?
body = %Q|<a href="#{photo[:src]}">#{photo[:title]}</a>|
else
- body = %Q|<a href="#{photo[:page]}"><img title="#{photo[:title]}" alt="#{photo[:title]}" src="#{photo[:src]}" class="flickr"></a>|
+ body = %Q|<a href="#{photo[:page]}"><img title="#{photo[:title]}" alt="#{photo[:title]}" src="#{photo[:src]}" class="flickr"|
+ body << %Q| width="#{photo[:width]}"| if photo[:width]
+ body << %Q| height="#{photo[:height]}"| if photo[:height]
+ body << %Q|></a>|
end
mapurl = flickr_mapurl(photo)
@@ -96,26 +99,37 @@
end
end
+FLICKR_PAGE = %r|<url type="photopage">([^<]+)</url>|n
+FLICKR_TITLE = %r|<title>([^<]+)</title>|n
+FLICKR_TAGS = %r|<tag[^>]+raw="([^"]+)"|n
+FLICKR_SRC = %r|<size label="([^"]+)" [^>]+ source="([^"]+)"|in
+FLICKR_WIDTH = %r|\bwidth="(\d+)"|n
+FLICKR_HEIGHT = %r|\bheight="(\d+)"|n
def flickr_photo_info(photo_id, size)
size ||= @conf['flickr.default_size']
# size = 'thumbnail' if @cgi.mobile_agent?
- regex_page = %r|<url type="photopage">([^<]+)</url>|
- regex_title = %r|<title>([^<]+)</title>|
- regex_src = %r|<size label="#{size}" [^>]+ source="([^"]+)"|i
- regex_tags = %r|<tag[^>]+raw="([^"]+)"|
photo = {}
photo[:tags] = []
flickr_open('flickr.photos.getInfo', photo_id) {|f|
f.each_line {|line|
- photo[:page] = $1 if line =~ regex_page
- photo[:title] = $1 if line =~ regex_title
- photo[:tags].push $1 if line =~ regex_tags
+ case line
+ when FLICKR_PAGE
+ photo[:page] = $1
+ when FLICKR_TITLE
+ photo[:title] = $1
+ when FLICKR_TAGS
+ photo[:tags].push $1
+ end
}
}
flickr_open('flickr.photos.getSizes', photo_id) {|f|
f.each_line {|line|
- photo[:src] = $1 if line =~ regex_src
+ if FLICKR_SRC =~ line && $1.downcase == size.downcase
+ photo[:src] = $2
+ photo[:width] = $1 if FLICKR_WIDTH =~ line
+ photo[:height] = $1 if FLICKR_HEIGHT =~ line
+ end
}
}
photo
コメントspamフィルタで不正なメールアドレスを排除
この前URLのチェックに加えたTLDチェックをメールアドレスに対しても行うようにしてみた。
それとcapsctrldaysのパッチを取り込ませていただく。
古い記事へのコメントをspamとみなす
ふたたびAD-HOCKERY DIARYからアイデアをいただく。
指定した日数より前の日付けの記事へのコメントをspamとみなすことができるようにしてみた。たとえば30を指定すると30日前よりも古い記事へのコメントがspamとみなされ、0を指定すると当日、つまりコメントを付けようとした日付けと記事の日付けが等しい場合以外はspamとみなされる(未来日記の場合はspamにならない)。空欄のままにすると制限なし。
コードはここ。
コメントspamフィルタ更新
AD-HOCKERY DIARYのパッチをいただきました。URLの最大値を0に設定できるようになる。
あと、最近よく見る変なURLだけのコメントspam。なにしたいんだろなあと思ってたのだけど、どうもブラウザによる補完をあてにしてるっぽい気がしてきた。なのでそのあたりについて少しケアしてみる気分に。パターンが間違っているかもしれないので注意。
コードは前と同じところ。
非表示にするのではなくて単に捨てるようにも設定できるようにしたほうが良いかしら。
コメントspamフィルタ
tDiary-develでたださんにおしえていただいた点を修正。
tDiaryの脆弱性に関する報告(2005-07-20)
このリリースの目的は、主に脆弱性対策です。脆弱性の内容については脆弱性に関する報告(2005-07-20)をご覧下さい。対象となるバージョンをお使いの方は、最新版へのバージョンアップを強く推奨します。
[tDiary 2.0.2、2.1.2リリースより引用]
というわけ。


