qPloneCaptchas 1.3.3 に日本語リソース
このサイトのコメント追加時にも使用しているプロダクト Plone Captchas(qPloneCaptchas) の 1.3.3 がリリースされました。
バージョン 1.3.2 で plone 3.1 対応が加わり、1.3.3 で私がメールした日本語の po ファイルが追加されました。
なので添付の画像のように、 plone 3.1 とかにインストールして「このページを送る」をクリックすると、日本語でメッセージが表示されます。
というわけで早速アップグレードしました。
いつものように入力する文字列はランダム風にアルファベット4文字です。
今回、日本語 po ファイルを送るときに、ついでに設定画面の i18n 対応を修正して、追加した msgid についての翻訳も入れたんですけど、とりあえず保留(もしくは無視)されているっぽいです。
残念。しょんぼり。
- カテゴリ
-
plone
-
- ¦
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://takanory.net/takalog/964/tbping
COREBlog2 でのトラックバックスパム対策(その1)
以前から COREBlog2 簡易 trackback spam 対策 によって、このブログにトラックバックスパムがこないようにしていたんですが、気づいたらコードがなんか変わっていたようで、エラーを出すようになっていました。(汗)
# なので、いくつか正しいトラックバックも落としちゃっていたような感じがします。
というわけで、もう一回トラックバックスパム対策をきちんとやってみようと思います。
基本的には以前と同じように、トラックバックスパムに含まれている単語をチェックする形式にしようと思うので、現在のスパムの中身を解析して見ます。
まずは、カスタマイズしていた tbping スクリプトを削除(または違う名前に)します。
すると、トラックバックスパムが来まくると思われるので、トラックバックのワークフローを切り替えます。私の場合は portal_workflow で初期状態が private で published に変更できるワークフローを作成して、 COREBlogTrackback に対してそのワークフローを設定しました。
それから少しサイトをほうっておいてトラックバックスパムを貯めてから、下記のスクリプトを実行して出現する単語の数を数えます。
ちなみに、初期状態では Python Script では使えない re モジュールとか使ってますので、 PythonScript で標準以外のモジュールを使う に記述したような形で使えるようにします。
from re import compile
NON_WORD_REGEX = compile(r"[\W\-]+")
# private 状態のトラックバックを検索
catalog = context.portal_catalog
results = catalog.searchResults(meta_type='COREBlogTrackback', review_state='private')
words = {}
for result in results:
tb = result.getObject()
# タイトルやブログの名前を単語に分割
s = " ".join((tb.title, tb.blog_name, tb.url, tb.excerpt))
s = NON_WORD_REGEX.sub(" ", s).lower().split()
# 出現した単語の数を数える
for word in s:
words[word] = words.get(word, 0) + 1
# 単語を出現数順に並べ替える
words_tuple=words.items()
words_tuple.sort(lambda x,y:y[1]-x[1])
for word, count in words_tuple:
print count, word
return printed
そして、このスクリプトを実行した結果が添付の画像です。
buy, http, com みたいな一般的な単語は抜いて、次に作成するトラックバックスパム対策用のスクリプトで単語リストとして使用します。
(つづく)
-
- ¦
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://takanory.net/takalog/965/tbping