blog.bulknews.net: mt-comments のリネームより
コメントSPAM対策その3として、mt-comments.cgi をリネームしてみた。
たいがいのfloodスクリプトは、mt-comments.cgi を決めうちしてるとおもうので。
とりあえずこっちを先に試しておこうっと。他のBlogもリビルドするだけで済むし。
blog.bulknews.net: mt-comments のリネームより
コメントSPAM対策その3として、mt-comments.cgi をリネームしてみた。
たいがいのfloodスクリプトは、mt-comments.cgi を決めうちしてるとおもうので。
とりあえずこっちを先に試しておこうっと。他のBlogもリビルドするだけで済むし。
まとめがてら、自分用にメモ
blog.bulknews.net: MT コメントSPAM Blacklist ファイル更新より
一部の方に好評なようなのでさらに Hack。blacklist ファイルを Comment 通知メールから更新できるようにしてみます。
miyagawaさんによる追加Hack。フィルタするURLのBlacklistファイルをいちいち修正してアップロードするのは面倒、ということで追加用にCGIを作成。Comment通知メール中にそのリンクを埋め込み、クリックするだけでURLを追加できるようにてしまおう、というもの。
NDO::Weblog: Hacking the Hack: MT コメントSPAM Blacklist ファイル更新より
で、コメント通知メールからブラックリストへ追加する cgi であるところの mt-blacklist-append.cgi、ブラックリストへの URL 追加と同時にそのときついたスパムコメントを削除してしまったほうがより幸せな感じなので、Hacking the Hack。
naoyaさんによるHacking the Hack。URLのBlacklist追加と同時にコメント自体も削除してしまおうというもの。
Going My Way: コメント通知メールや管理画面からBlacklistにURLを追加より
これだけでも便利なのですがIP Banの画面にもURLをBlacklistに追加するフォームがあると便利だと思ったのでちょっと管理画面のテンプレートを改造してみました。
こちらはkengoさんによる、管理画面にBlacklistにURLを追加するフォームを埋め込んでみたという記事。うちではComment通知メールを受け取るようにしていないので、これだけにしとこうかな。
・・・
というか、まだ対策してないのかよ<俺
なるほど、URLではじく方法もあるのですね。
コメントSPAMがかなりひどくIPベース制限では効かなくなってきたので、URLベースではじくように改良。
SPAM対策メモ
Burningbird: Comment Spam Quick Fix
対策の内容を簡単に説明すると、投稿フォームからhiddenパラメータを渡し、mt-comments.cgiでチェックして、SPAM自動化ツールなどによる直接アクセスを防ぐというもの。
補足として、
@ parallel minds: spamコメント対策:GET拒否
上の記事によれば、POSTだけでなくGETも対策したほうが良い模様。
他にもプラグインを導入するとか、チェックボタンをつける方法とか、Comments.pmをいじる方法などもあるみたいですが、上記の方法が一番手っ取り早そうです。
read more
ここ数日間、コメントSPAMが多数きてしまった。
リンク先の内容は確認していないが、明らかに自動投稿による無差別コメントだったので削除。ただし100以上に及んだため、ちまちま削除するのも大変。そこで以前からメモしてあったMemo Leavesの「編集メニュー画面からコメントスパムを一括削除」を参考にさせていただき、同記事で公開されているmenu.tmplをいただいて簡単に削除することができた。
初めてSPAMが投稿された日に、投稿してきたHostを禁止IPに登録はしたのだが、ここ数日間で
83.31.64.186
83.31.81.228
83.31.80.162
と変わっているため、対処できていなかった。コメントSPAM対策が必要かもしれないと思い、ついでにMovableTypeも2.661へアップグレード。
Tonkeyさんが、Ver1.8ベースのMT4i改変版を公開しています。
最新のVer1.8のコードに管理者機能を乗せたMT4iです。
オリジナルの最新版をベースにしており、Ver1.4V5T14からダウングレードしている機能はないはず、とのことですので、Tonkeyさん版をお使いの方は最新版に置き換えると吉でしょう。トラックバック表示機能も追加されています。
これでとうとう改変版のバージョン表記から「V5」の文字が消えますね。
なんかホッとしたような。でも少し寂しいような。:-)
kubotさんより、utf-8からeuc変換前に文字数を判断してしまうと、3バイトコードがあるときに希望する文字数を得られないのではないか、というご指摘を受けました。確かにそのとおりですね。kubotさん、ありがとうございました。
というわけで、修正したコード(ほぼ、kubotさんがコメントに書いてくださったコードそのままですが・・・)を載せておきます。以前のエントリーのソースは自戒の念を込め、追記のみでそのままにしておきます。
2004/3/29追記:このスクリプトはmuraさんの記事(M’s folder: MT 長いタイトルをトリミングする)で公開されているものをEUC以外の文字コードに対応するように改変したものです。
2005/9/30追記:Encodeモジュール版はこちら。
# 指定された文字数(半角文字数)にトリミングするフィルタ package MT::Plugin::Trimj; use MT::Template::Context; use MT::ConfigMgr; MT::Template::Context->add_global_filter(trimj_to => sub { my($str, $nstr, $ctx) = @_; my $sippo = '...'; my $tmpstr = $str; my $c = MT::ConfigMgr->instance->PublishCharset; my $conv_in; if (lc $c eq lc 'Shift_JIS') { $conv_in = 'sjis'; } elsif (lc $c eq lc 'ISO-2022-JP') { $conv_in = 'jis'; } elsif (lc $c eq lc 'UTF-8') { $conv_in = 'utf8'; } elsif (lc $c eq lc 'EUC-JP') { $conv_in = 'euc'; } my $jcnv; eval 'use Jcode;'; if($@){ require 'jcode.pl'; $jcnv = 'jcode::convert'; }else{ $jcnv = 'Jcode::convert'; } if ($conv_in ne 'euc') { &$jcnv($str, 'euc', $conv_in); } # 比較をここに移動 my $lenstr = length($str); if($lenstr <= $nstr) { return $tmpstr; } my $out = substr($str,0,$nstr); if ($out =~ /x8F$/ or $out =~ tr/x8ExA1-xFE// % 2) { chop $out; if($out =~ /x8F$/){ chop $out; } } $out .= $sippo; # 尻尾を付けたくない場合は、コメントアウトのこと。 if ($conv_in ne 'euc') { &$jcnv($out, $conv_in, 'euc'); } return $out; }); 1;
こんにちわ、i-mode携帯端末からMovableTypeを操作できるiMTを作成しました。反応が少ないので、しばらくデモサイトを公開して、使用していただこうと考えています。
とりあえずうちの環境で動けばいいや、ってことで汎用性を考えずに最低限のパッチを当ててみたところ、無事うちのSO505isからUTF-8のMTにエントリーの投稿はできるようになりました。素晴らしいです!
siteASのsanoさんが、iMTを公開されました。(わざわざメールで連絡を頂いていたんですが、風邪で体調を崩していたり色々忙しかったりでまだ試用させていただくことが殆ど出来ておりません・・・)
以前より、siteASさんのところはたまに巡回させていただいておりまして、MovableTypeドキュメントの邦訳なども本当にありがたく拝見させて頂いております。この場を借りて御礼申し上げます。
iMTは、iMode用CMSオブジェクトであるMT::App::CMS::imode.pm(およびテンプレート)+cgiのフロントエンドを利用してMovableTypeの管理が行えるというものです。
ただし、Shift_Jisでの運用を前提としているとのことで、今のところ残念ながら他の環境ではそのまま利用することが出来ないようです。UTF-8環境で利用する方法に関しては、Tonkeyさんが修正内容を暫定的に公開してくださってます。
今後の開発に期待しています。
read more
文字化けの原因は、指定したバイト数よりも元の文字列長が短くてトリミングされない場合に文字コードがeucに変換されたままリターンしているのが原因でした。すみません。
なんでこんなバグに気付かなかったんだろう・・・。
read more
見れば、エントリーのタイトルが長すぎて、折り返し表示されているところが多い。ここを決めた文字数で切れれば、スペースを稼げるんだが……。
そう思って探してみたら、以下の記事でビンゴ。
M’s folder: MT 長いタイトルをトリミングするより
そこで、EUC-JP限定だが、日本語対応のフィルタを作ってみた。
MT標準のtrim_toだと日本語文字コードに対応していないため、イケナイところでぶった切ってしまう。そんなわけで僕もtrim_toは利用しないようにしていたのですが、太鉄さんがなにやら見つけたご様子。しかし、そこには「EUC-JP限定だが」の一文が・・・。
read more