いきなりmixiがデザイン変更したので、スクリプトも変更。
http://xoops.peak.ne.jp/uploads/ignore-user-for-mixi-diary.user.js
mixiもずいぶんとまともなHTMLになったなあ、と感心してます。
mixiでminahitoさんやMarijuanaさんの日記を楽しく読んでいるのですが、頭が悪いとしか思えないコメントをつける人間がいて、どうにも不快で困ります。読み飛ばそうにも、無駄に長文だったりするので、肝心の流れが追えません。
どうしようかな、と悩んでいたら、tohokuaikiさんが素晴らしいエントリを教えてくれました。
mixi内のコミュニティのトピックで特定ユーザの発言を「display: none」にするGreasemonkeyユーザスクリプト
http://d.hatena.ne.jp/iwaim/20060906/1157520447
おお、なるほど。クライアントローカルなJavaScriptで不快なコメントを見えなくしちゃえばいいのか!
というわけで、このユーザスクリプトの日記版を作ってみました。
http://xoops.peak.ne.jp/uploads/ignore-user-for-mixi-diary.user.js
中身はほぼ一緒で、DOMにおける<tr>の相対パスが違うってだけです。
</tr>
<!-- 本文 -->
<tr>
自分で言うのもなんですが、今年のエイプリルフールねたは、かなり実用性の高いものでした。ここでその種明かしをします。
実際、デザイナーでない人間がテーマを作る際の最大のハードルは、配色だと思います。
色の組み合わせなんてそれこそ無限にあるわけですが、素人が適当に色を選んでも、まず間違いなく「変な色の組み合わせ」になってしまいます。だから、素敵な配色がすでに存在するのなら、それを利用するのが一番です。
そして、素敵な配色は、写真の中にこそあります。なぜなら、色温度が統一されているので、変な組み合わせになりようがないからです。
それを知ったのは、matchanのところで紹介されていたpic2colorからです。
http://www.pic2color.com/index.htm
これを使うと、オンライン上の画像から8色をうまく選び出してくれます。
その8色をテーマに割り当てれば、十分にセンスの良い色の組み合わせになります。
さらに、その写真をヘッダ部に背景として置くと、配色とも当然マッチするわけで、まるでプロが作ったような仕上がりになります。
ここで実はもう一つハードルがあります。
カラーを指定するのは当然CSSですが、色の指定部分がかなりバラバラなので、選んだ8色をどのように指定して良いのか判りづらい、ということです。
そこで、CSSをテンプレート化してみました。色に名前をつけて、CSSにテンプレート変数で埋め込んでいきます。こうすることで、CSSに対して、8色をアサインするだけで良くなります。
pic2colorでは、色の濃いものから順に8色並んでいるので、それをこんな感じで利用しました。[0]が一番左の色で、[7]が一番右の色です。
さすがに本文が読めないと困るので、body背景・文字は固定にしてます。
body背景 => #ffffff // 固定
body文字 => #333333 // 固定
枠の外 => $color[4]
ヘッダ部背景 => $color[7]
ヘッダ部文字 => $color[1]
リンク => $color[0]
強調部背景 => $color[2] // <th>等
強調部文字 => #ffffff // 固定
タイトル背景 => $color[3]
タイトル文字 => #ffffff // 固定
head => $color[5]
even => $color[6]
odd => $color[7]
枠線 => $color[0]
このmod_access_rblを3日間運用してみて、Protectorのログと見比べた限りでは、mod_access_rbl によって拒否できたPOSTは、50〜60%程度がいいところです。
つまり、40〜50%のSPAMは素通しなわけで、とても、URIカウントロジックなしで運用できる、というレベルではありません。
この数値はSPAMメールよりもかなり低い気がします。世の中のSPAM用RBLは、おそらくメール対策がほとんどなので、このようなコメント/トラックバックSPAMに対するアクションが遅いのではないのでしょうか。
その中でも比較的優秀だったのが、 sbl-xbl.spamhaus.org です。このRBLサーバは、他のサーバよりもコメント/トラックバックSPAMに強いのかも知れません。
そんなわけで、ProtectorのRBLフィルタープラグインについては、このRBLサーバをデフォルトでONにしています。
最近のSPAMの量は半端じゃありません。ほとんどDDoSレベルです。
こんなのをまともに処理してたら、CPU帯域がいくらあっても足りないので、Apacheレベルで拒否できるmod_access_rblを導入してみました。
参考記事 http://www.rbl.jp/bbstbspam.html
とりあえず、このサイトに仕掛けてみました。ProtectorのログとApacheのerrorログを付き合わせることで、どれくらい有効かがわかると思います。
そのmod_access_rblのオリジナルはここです。(Apache1.3用のパッチ)
http://www.blars.org/mod_access_rbl.html
…が、なぜか記事が消えてます。
私はあえてApache1.3を利用しているのですが、ネットを探しても見つかるのはこれをベースに、Apache2.0用に書き換えたものばかりです。
仕方がないので、そのApache2バージョンを元に、再度1.3用に書き換えてみました。
移植の再移植なので、質が落ちている可能性は大です。特に私自身、Cのプログラムを書くのが本当に久しぶりで、変数の頭に$をつけたり、文字列を代入しちゃったりで、コンパイルエラーでまくりでした
もしオリジナルのdiffが見つかったらそちらを利用するべきでしょう。
#Apache用のmodって実はけっこうコード量が少ないんですね。mod_xoops.c なんかも簡単に書けるのかもしれません。