ぴったりとまってるのはなぜ?2008年06月06日 00時54分03秒

この前のエントリで「Googleノートブックブームでコメントスパムが少し増えてきた」と書いたらその日を境にぱったりとコメント・トラバともにスパムが途絶えた。

どちらも丸3日間、1件もない。なんで?

やっぱり、アサブロのスパム対策はよくわからん。どんな処理をしているのか不思議だ。まぁ、スパムがないのはよいことなのだが。

今度はノートブックっすか!2008年06月02日 02時46分27秒

ちょっと前まではアサブロの対策が功を奏したのか、コメント・トラバともスパムが激減していたのだが、コメントのほうは最近また増えてきた。

以前はリンク先がGoogleグループのものばかりだったのだが、こんどはGoogleノートブックがブームらしい。

便利なWebアプリが簡単にアカウント取れるのは便利なんだけど、こういう使われ方に対してなんか制約取れないのかなー。

帰ってきた退職願い2008年03月31日 20時26分49秒

ずいぶん以前に「退職願い」というトラバが来ていたのだが、今日その記事に「退職願い 書き方」というトラバが重ねられていた。

ちょっと見に行ってみたら、以前のやつとはちょっと違いそうだったが、サーバがヤケに重たくてコンテンツはろくに確認できなかった。

ただ、ざっと見たところ広告が貼ってあるわけでなし、いったいどうしろと。

「退職願いの書き方は任せてください」だそうだから、縁があったらどうぞ。

おクスリトラバを強調するGMスクリプト2008年03月27日 12時53分48秒

こないだのスパムがらみエントリでも書いたが、アサブロのトラックバック管理画面で「spam」指定しておくとアサブロ側で情報を収集してくれるっぽいので即削除をやめてspam指定をするようにしてみた。

が、トラックバック管理画面はデフォルトで 10件 / 1ページ の表示なのであっという間に画面はspamだらけになり、管理しづらい。

なので、せめてもう少し見やすくしようとGreasemonkeyでユーザスクリプトを書いてみた。グリモンでしか確認してないが、ほかのブラウザのユーザスクリプトにも移植できるかも。そうでもないかも。

以下のスクリプトを、実行対象のページに「http://www.asablo.jp/app?cmd=edit_tb*」を指定しておくと、トラックバック一覧を表示したときに指定キーワードに一致する行の文字を赤(すでにspam指定済みの場合は暗い赤)で強調する。

var K = function(x) { return x; }

Object.extend = function(destination, source) {
	for(var key in source) destination[key] = source[key];
	return destination;
}

var $break = {};
var $continue = {};
var Enumerable = {
	each : function(iterator) {
		var i = 0;
		try {
			this._each( function(value) {
				try {
					iterator(value, i++);
				} catch(e) {
					if( e != $continue ) throw e;
				}
			} );
		} catch(e) {
			if( e != $break ) throw e;
		}
	},
	find : function(iterator) {
		var result = null;
		this.each( function(value, index) {
			if( iterator(value, index) ) {
				result = value;
				throw $break;
			}
		} );
		return result;
	},
	findAll : function(iterator) {
		var results = [];
		this.each( function(value, index) {
			if( iterator(value, index) ) results.push( value );
		} );
		return results;
	}
}
Array.prototype._each = function(iterator) {
	for(var i = 0, l = this.length; i < l; i++) iterator(this[i]);
}
Object.extend( Array.prototype, Enumerable );

Array.from = $A = function(list) {
	Object.extend( list, { _each : Array.prototype._each } );
	return Object.extend( list, Enumerable );
}

document.getElementsByClassName = function(className) {
	return $A( (arguments[1] || document).getElementsByTagName("*") ).findAll( function(ele) {
		var classes = ( ele.className || "" ).split(" ");
		return classes.find( function(c) { return c == className; } );
	} );
}

/* spam認定キーワード。うまく引っかからんやつもある */
var ng_words = /(drug|buy|price|cheap|tramadol|medication|side\seffects|hydrocodone|oxycodone|zithromax|phentermine)/ig;

$A(document.getElementsByClassName("list")[0].getElementsByTagName("tr")).findAll( function(tr) {
	return ng_words.test( tr.innerHTML );
} ).each( function(tr) {
	var state = tr.getElementsByTagName("select")[0].value;
	Object.extend( tr.style, {
		color : state == "spam" ? "brown" : "red"
	} );
} );

Enumerableだとか、prototype.jsの機能を一部実装してるのでちょっと長いが。

追記

ちなみにトラックバック一覧から絞込みや並べ替えやっちゃうと「http://www.asablo.jp/app?cmd=edit_tb*」にマッチしないのでこのスクリプト無効になっちゃいます。

もう少し使えるフィルタを実装してほしいなぁ > アサブロ

「spam」指定の効能2008年03月26日 03時44分38秒

先日のエントリ

とあるので一応即削除せずにいったん「spam」指定して、半日くらい寝かせてから削除しているのだが、これってほんとに使われてるのかなぁ。
とかぼやいていたら、Days on the Moonのnanto_viさんからコメントをいただいた。

それによると、

3日から5日間でspam指定された情報を収集している
とのことなので、このくらいの期間は「spam」に設定して放置しておいたほうがよいのかも。

でも1日に数十通もスパム受けてると、ほかのトラックバックがまぎれちゃうし、spam指定したら管理画面から消えるなり別管理枠を設けるなりしてほしいなあ。

いや、ウチは普通のトラックバックなんて滅多にいただかないのでそれほど不便じゃないんだけど(w

それにしてもやっぱり「ASAHIネットで利用することがあります」ってのはなぁ。しっかり利用してくださいよ > ASAHIネット