今週になって落ち着いたと思っていたコメントスパムが、またまた来るようになってしまいました(昨日 1日で 20書き込みくらい)。
「おや?なぜ、こんなに更新回数が多いんだ?」 で書いたように .Text はコメント書き込み時にも ping を送信しています。そのためコメントスパムのときにも ping を送信してしまい、あまりよろしくありません。
そこで、Code\Dottext.Framework\Tracking\Notification.cs にある NotificationServices クラスの Run メソッドを以下のように修正しました(青字のところを追加しただけ)。
public static void Run(Entry entry)
{
if(entry != null)
{
if (entry.PostType == PostType.Comment)
{
return;
}
Notifier notify = new Notifier();
なお、この修正によりコメントのときは Notifier 自体が動かなくなります。Notifier では
- weblogs.com への ping 送信
- (私の改造版では) bloggers.jp への ping 送信
- 記事中のリンクに対する trackback の送信
を行っています。上記の修正によりこれらすべてが動かなくなりますが、コメントの場合はどれもする必要を感じないので問題はないんじゃないかと思います。
というか、.Text ってコメントのときまで trackback してたんですね。それはそれでまずいような気がするなぁ。もっとも、私は .Text の自動トラックバックはオフにしてますが。
上記の修正をした DLL を http://www.divakk.co.jp/aoyagi/dotText_bin.ZIP において置きました(今回の修正だけではなく、今までの修正すべてが反映されています)。
コメント書き込みのテスト
返信削除素朴な疑問。
返信削除自動Trackbackって記事を保存してから送信する?
うち、Trackback受けたときにTrackback元の記事をチェックする実装入れてみてるです。
つまり、保存する前にTrackback打たれると記事が無いので受け付けません。
そこんとこどうなんだろう。
> 自動Trackbackって記事を保存してから送信する?
返信削除はい、データベースへの登録は同期的に行って、その後、スレッドプールを使って ping や trackback の送信といったことをやっています。
なので、
> うち、Trackback受けたときにTrackback元の記事をチェックする実装入れてみてるです。
は問題ないはずです。
というか、.Text 自身、trackback を受け取ったときに同じように trackback 元の記事が存在するかチェックしています。