NP_Trackback v2.01jp2 c2ではlinkなしトラックバックを受けた場合にはblock(保留)にするようになっています。
これをblockしないで、無視するには以下のようにプラグインの改造をする必要があります。
改造場所は以下の3箇所です。
なんか連発になってしまっていますが、NP_Trackback 2.x系はSeesaaにもトラックバックが送れません*1。ということで、こちらもちょっとSeesaaとの通信内容を解析して原因を探ってみました。
ライブドアと同じく、テスト用のエントリ追加から4分でspamトラックバックがやってきてさすがに途中で気分が萎えました。まるで新規にブログを開設する人(初心者)を狙い打ちにでもしているかのようです。
† 結論
結論から言うと、Seesaa側のサーバーがNP_Trackbackの送信している情報を不正とみなしてるためにトラックバックが反映されないようです。NP_Trackbackの該当部分を修正することによって、トラックバックが送信できるようになることを確認しました。
↓この部分を以下のように変更↓
livedoorのトラックバック仕様変更の話で盛り上がっていたら、NP_Trackback 2.x系にしてからというものlivedoorにトラックバックが送れないということを思い出しました。
確かまみおさんのところとか、フォーラムなんかでも既出だったはずなので、たぶんコレは困っている人も多いだろう・・・・ということで今日はこの問題に対処してみようと思います。
† 結論
まず、結論から述べてしまいますが、livedoorのtb.cgiはNP_Trackbackが出力するUserAgentの値をチェックしていたということと、NP_Trackbackが通常のブラウザのようにUserAgentを装っていたことが複合して起きたようです。とりあえず、NP_Trackbackの以下の部分を書き換えることによりlivedoorにトラックバックを打つことができるようになります。
↓ この部分を以下のように書き換える ↓
某所で話題になっていたのでまとめておきますが、NP_Moblogのメール取得先としてGmailを使うことは可能です*1。GmailはSSLによるPOP3アクセスが可能(というか、非SSL接続は不可)なので、それをNP_Moblogの設定方法として具体的に書くとこのような感じになります。
POP3 ホスト名 ssl://pop.gmail.com
POP3 ポート 995
つまり、ホスト名の前にssl://を入れるだけ。この方法を使えば他のサーバのPOP3Sにも接続できるはずです。次回リリース分から、このこともhelpに挿入しておきます。
アクセス解析のリファラー統計を眺めているといろいろなことがわかるのですが、僕にとっては予想外の展開を2つ見つけてしまいました。
† その1
昨日の独り言がBulkfeedsのmiyagawaさんにブックマークされて、いろんな人が来ていたみたい。
ちなみに、NP_Blacklistへのspam報告機能の実装は終わったので、もうチョイ見た目を修正したらリリースしようと思います。
† その2
Google Sitemaps 対応 Nucleus Skinを海外のユーザーに使っていただいていることが判明。日本語が読めなくてYahoo!翻訳とかを駆使してがんばって導入していただいたようです。こういうのを見てしまうと、やっぱり英語のドキュメントは書かないといけないのかなと。
・Google Sitemaps and Nucleus CMS
でも、気が重いです。。。。。
NP_Blacklist改造版(jp版)ではRBLによってspamを防ぐ仕組みになっています。そのしくみについては何度もサイトに書いてきたのですが、肝心のRBLにURLを追加するための方法を書いたことがありませんでした。
ということで、今回はrbl.bulkfeeds.jpにspamを報告する方法を書いておきます。もちろん、bulkfeeds.jp以外のRBLにもspam報告はできるのですが、bulkfeedsは日本語インタフェイスで登録できるので簡単です。
やり方はすごくシンプルでspam報告用のフォームを開き、「Report spam」ボタンを押すだけ。
いたずら防止のためにTypekeyによる認証がかかっていて、ログインしない限り「Report spam」ボタンが押せないので注意してください。Typekeyのアカウントを持っていない場合にはここでアカウントを作っておくととよいと思います。たったこれだけでブラックリストを成長させることができるのですから、大いに活用すべきかと思います。
僕のプラグインもいくつか紹介していただいている「Nucleusの各種プラグインを実際に動作させたサンプルとして紹介するblog」さんでNP_Cacheが紹介されていました。以前に一度NP_Cacheを入れようとしたことがあったのですが、面倒くさくて結局断念しました。
その後、Nucleusの高速化はサーバ移転とか、MySQLのチューニングとかで対応してきました。
NP_Cache ver1.2 - Nucleusの各種プラグインを実際に動作させたサンプルとして紹介するblog
なんと軽く!10倍以上(場合によっては20倍以上)も、ページ作成時間が速くなり、かなりビビりました。
さすがにNucleusの各種プラグインを実際に動作させたサンプルとして紹介するblogさんには負けているものの、うちもかなりの数のプラグインを入れているのでこのたび再挑戦することにしてみました。
NP_Blacklistのマスターファイルが提供されなくなって、今後どうしようかということはいろんなところで論じられていますけど、大まかな意見としてはMT3.2と同様にDNSBLを活用するという方向に集約していきそうです。
NP_Blacklistではipdnsblとしてlist.dsbl.orgとuridnsblとしてmulti.surbl.orgを使っているようなのですが、まみおさんのところのエントリを参考にNP_Blacklistを改造して、これらのDNSBLを参照するようにしてみました。
[ペガ]Pega Weblog: MT3.2-ja-b1のスパム対策機能
defaultのIP Blacklist Serviceにはbsb.spamlookup.netとopm.blitzed.orgが、Domain Blacklist Serviceにはbsb.spamlookup.netとsc.surbl.orgが設定されています。via Nucleusの今後のスパム対策
こちらは急造仕様なので効果がどんなもんかしばらくテストしてみようと思います。
どうも昨日からNucleusのレスポンスが悪く、1回ののリクエストを処理するのに数秒というオーダーで時間がかかっています。暴走しているプロセスがあるのか*1と思ってサーバの具合を確かめてみたのですが、特段負荷がかかっているわけでもありませんでした。
最初は何か変なSQLでも処理しているのかと思ったのですが、先日のチューニングの際にクエリキャッシュを有効にしたので、たとえ変なSQLであっても同じSQLならば、リロードしたときに時間が短縮されるはずです。ところが、画面のリロードをかけても処理時間が短縮されていないので、この仮説はちょっと怪しい・・・・・・と、そんなことを繰り返しているうちに、処理時間に1~10秒というバラツキがあることに気づきました。処理時間に影響を与えやすく、人が分かる程度のオーダーで処理時間にバラツキがあるもといえばネットワーク通信くらいでしょうか。
そんな目星はすぐについたのですが、プラグインをこれでもかと突っ込んでいるNucleusでその部分を探すのはちょっと難しそうなのでAPDを使ってみました。APDというのはPHP用のプロファイラで、PHPが実行されるときにどの部分にどれくらい時間がかかったかをレポートしてくれる機能を持っています。そんなAPDがはじき出した犯人はNP_BlackListのfopen()でした。
Urderbrunnrのcamriさんにプラグインのバグレポートをもらったので、早速修正にかかってみるもののなぜか再現できず。とりあえず、症状から不具合の勘所は分かったものの、再現してから修正をかけないと何か気持ち悪いのでなるべく同じ環境を作ってみることにしました。
camriさんのところのphpinfoを見る限りでは、PHP5を使っておられるようなのでこの際だからとうちもPHP5にしてみることにしました。これが間違いの始まり。PHP5自体はPHP4と同じconfigureオプションでビルドできたし、Apacheへの組み込みも問題ありませんでした。思ったよりすんなりできたのであとはNucleusだけと思ったんですが、肝心のNucleusがちゃんと動いてくれませんでした。ログを見たらこんなエラーを吐いていました。
error_log