Amazon Webサービスを使うplugin
aws.pl - MT plugin for Amazon webservices
すげー
MovableTypeで、Amazonの書影を引っ張ってこれる~
tDiaryではすでにある機能だけどね。
aws.pl - MT plugin for Amazon webservices
すげー
MovableTypeで、Amazonの書影を引っ張ってこれる~
tDiaryではすでにある機能だけどね。
MT4i/MovableType用 携帯電話向け変換プログラムとは
携帯からMovableTypeを見えるようにするCGI
ValueCommerceのアフィリエイトプログラムを入れることにした。
daly bLog by snotchで、MovableTypeで amazon ウェブサービスを手軽に利用する方法として、XSLT+MovableTypeのテンプレートで実現する方法をAmazon XSLT for MTとして公開されているので、使ってみる。
TRIGGERS「個別の記事URLまたはコメントURLをブラウザで開くと、文字が真っ白になってしまう問題について」に解決策が書いてあるので、やってみた。
来訪者監視系(CGIスクリプトのサンプルとダウンロード - CGI Script Market)
にTop_Referer v.2.01 「リンク元をランキングしてみる」というのが有ったので、使ってみることにした。
オリジナルは、CGI置き場でログを取るので、ひとつのCGIで全てのページの統計になってしまうので、各ページで情報を取れるように少し改造して使ってみることにした。
どうだろうか
First Weblog: ハイライトにするまで真っ白画面になってしまう対策のコメントで、「トラックバック表示されませんよ?」と頂いたけど、おうちサーバからはトラックバック出来ていたので、
「外からだと、トラックバックできないのかなぁ」って悩んでいたけど、「First Weblog: Discussion on StrutsのツールCamino」で、ドイツからトラックバックを頂いて、ちゃんと登録されている♪
Individual Entry Archiveに変更してコメントをOnにしたときに、Bulkfeeds: Similarity Search(似たようなページ)が出るようにした。
「わんこのふろく」には、リンクから来る人よりもサーチエンジンから来る人が多いけど、Top_Refererでは、サーチに用いられた検索語はURLエンコードされて出てきてしまって、リンクを開かないと検索語が分からなくて不便だった。
そこで、表示する文字列は、元の文字列で表示するように変えた。
[blog][MovableType]MovableTypeに沢山のSPAMコメントが来る
まずは、DBのテーブルを見て
select * from mt_comment where comment_email like 'ljas%'
delete from mt_comment where comment_email like 'ljas%'
まずはMovableTypeの編集メニューの改造
まずは、MovableTypeの編集メニューで、さっさか削除できるように
Memo Leaves: 編集メニュー画面からコメントスパムを一括削除
により、削除しやすいメニュー方式に変更するために ./tmpl/cms/menu.tmp を入れ替えた。
次に自動投稿を防ぐhidden登録
これは「C.G.I.: 簡単SPAMコメント対策」を参考にして、コメントのテンプレート
Comment Listing Template
Comment Preview Template
Commment Error Template
Individual Entry Archive
で、hiddenがある所に
<input type="hidden" name="nazo" value="nazodome" />
#Spam protection added by chrome add by tkyn
if (!$q->param('nazo')) {
return $app->handle_error($app->translate("Please check the 'Spam Protec
tion' system."));
}
コメント内容に漢字が無い場合に防御する
ついでに、
if ($q->param('text') !~ /[\x80-\xff]/ ) {
return $app->handle_error($app->translate("Comment text is required Kan
ji charactor."));
}
URLペースでの防御
「blog.bulknews.net: MT コメントSPAM対策」には、Blocklistに乗っているURLだとコメントを投稿できない仕組みがあります。リストのメンテナンスが出来そうに無いので、まだ入れてないけどね。
「こころぐ」などでは、エントリーと同じページにトラックバック一覧が出る。
MovableTypeのDefaultでは、「トラックパック(1)」をクリックすると別ページでトラックパックの一覧が出る。(CNETも同じ方式ですね)
「こころぐ」みたいにしてみた。
[MovableType]トラックバックスパム対策
MovableTypeにコメントスパムだけではなくて、トラックバックにもスパムがくるようになったので対策を考えた。
どのエントリーにpingされたのか分からない!! - 対策失敗
メイルでpingのお知らせはくるけど、MovableTypeのmenu画面では、どのエントリーにpingされたのか分からなくて困るので、以下のような対策を考えたが失敗してしまった。
失敗した作戦は、menu.tmplにコメントスパムの対応と同様に
<TMPL_IF NAME=HAS_EDIT_ACCESS><a class="list" href="<TMPL_VAR NAME=SCRIPT_URL>?__mode=view&_type=entry&id=<TMPL_VAR NAME=ENTRY_ID>&blog_id=<TMPL_VAR NAME=ENTRY_BLOG_ID>"><TMPL_VAR NAME=PING_CREATED_ON></a><TMPL_ELSE><font class="title"><TMPL_VAR NAME=PING_CREATED_ON></font></TMPL_IF>
なんていれたらすぐに、「最近 5つの Ping」で、どのエントリーにpingされているのか分かって便利かとおもってやってみた。
しかし、PING_LOOP中では、ENTRY_IDが取れないのでダメ
とりあえずいままでにpingされたものだけでも削除!!
いろいろ調べたけど、とりあえず、いままでにpingされたものを削除するには、コメントスパムの時と同じでDBの中で削除するのが良いらしい。
delete from mt_tbping WHERE tbping_blog_name like '%poker%' or tbping_blog_name like '%texas%' or tbping_source_url like '%poker%' or tbping_source_url like '%texas%' ;
で削除できるらしいので、まず
select * from mt_tbping WHERE tbping_blog_name like '%poker%' or tbping_blog_name like '%texas%' or tbping_source_url like '%poker%' or tbping_source_url like '%texas%';
で確認してから削除した。
「ベイジアンフィルタ for MovableType」を使ってみる。
spamsssianと同じようなベイジアンフィルタをMovableTypeでも実現してくれているひつがいるので、早速使ってみる。
日本語解説: KANWAKYUDAI::Blog:ベイジテンフィルタ for MovableType
てもとのMovableType 2.64 + PostgreSQLにインストールしようとしたら色々問題が有った。
■tinyintなんて無い!!
Documentのとおりに進むとbayesian-init-db.cgiの実行のところで、PostgreSQLに「"tinyint"なんて知らない」と言われるので、bdb/bayesian_postgres.dumpのtinyintをsmallintに変えて実行
※mysqlでの1byte intがtinyintらしいが、手元のPostgreSQLでは無いらしいのでSQL92にもある2byte intのsmallintで代用させた。
■PostgreSQL用のTable dumpが間違い
bayesian-init-db.cgiの実行で利用するbayesian_postgres.dumpでは二つのテーブルを作った後にインデックスをつけているけどテーブル名が間違っていたので修正
誤: create index bayesianblog_blog_id on bayesian (bayesianblog_blog_id);
正: create index bayesianblog_blog_id on bayesianblog (bayesianblog_blog_id);
さらに最後のテーブルのインデックス作成でも、同様の間違いがあるので訂正
誤: create index bayesiantoken_blog_id on bayesian (bayesiantoken_blog_id);
正: create index bayesiantoken_blog_id on bayesiantoken (bayesiantoken_blog_id);
ここまで一度bayesian-init-db.cgiを実行しているとテーブルはできてしまっているので、psqlで
drop table bayesian; drop table bayesianblog;drop table bayesiantoken; drop sequence bayesian_id; drop sequence bayesianblog_id; drop sequence bayesiantoken_id;
を走らせて、テーブルとシーケンスを消してから再度トライの必要がある。
■なんとかDBスキーマ完成
mt-bayesian.cgiで
Loading database schema...
Done loading bayesian data into the database! All went well.
が出たので、なんとかDBは完成したみたい。
でもTRAINしても[Spam Probability: 50%]から変わらない何故?
そういえば、DBに作ったテーブルにも何も更新が入ってない
で、さらにDBのテーブルをDROPしてもエラー無し (;_;) うごいて無いじゃん!
![]() |
blog SEO tool |
|---|
ブログ「First Weblog」のカテゴリ「MovableType」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。
前のカテゴリはmoblogです。
次のカテゴリはNew York お薦めの場所です。