自分自身のためのものづくりメモ突っ込みなどがありましたら掲示板にお願いします。#掲示板spam対策googleやらyahooやらmsnやらが、入れ替わり立ち替わり、smode=sumやらsmode=countやらcmd=editやらのついたページを、別々のものと見なしてGETしていく。こっちにもあっちにも無駄な負荷がかかる、とても不幸なことだ。対策として、それらへのリンクをformにしてみた。検索エンジンは、いくらなんでもsubmitしないだろうから、無駄にリンクを辿らなくなると期待。spam投稿用クローラが心配。textもtextareaもないのにPOSTする馬鹿がいるかもしれない、と危惧している。ロボットの類相手では、cmd=editとかsmode=hogeとかあったら、404を返すようにした既にsmode=hogeとかのページのurlが記録されていて、リンクが無くなっても読みに来る。ロボットの類相手にそれらのページは404を返すようにした。ロボットか?の判断は、user_agentにhttp:が入っているかどうか。ロボットなどに対して、サイドバーを渡さないようにした検索の邪魔だよね。本文にないキーワードがあるのは。ロボットに送るデータ量が減るという恩恵もあった。無駄なデータが減るのは、互いにとって有益だ。#Web2007/09/23久々に、RandomNoteをspam投稿ロボットが引っかき回していった。対策が必要とは思ってるのだけど、たまにしかないし、投稿その物はBASIC認証で弾かれるしで、面倒なので1年以上放置してる。後述のような感じで、2時間半にわたり、GETとPOST合わせて800回以上のアクセスを行う酷いロボットだった。401で弾かれているのに延々と試行するのは無駄で、馬鹿なプログラムだと思う。ふつー、エラーが出たらとっととあきらめて他の無防備なBBSとかblogとかWikiを探すよう組むと思う。66.232.96.0/19http://baku.homeunix.net/WiKi/rnx/index.rb?1171520140.txtにて、403を返すようにしても延々POSTし続けて、実にうざい。全て失敗するのでたいした害はないが、いいことは全くない。...というわけで、TCP/IPレベルで接続を蹴ることにした。これでaccess.logも少々すっきりするだろう。連投がウザイ(*)ので、丸ごと.htaccessでBBSから排除。4032月16日だけで139件かよ...。この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"host.a1hosting4u.com")。#Webうちの掲示板へ書き込みを試みたspam投稿ロボットの形跡を挙げる。以下3点の判断基準で、海外からの被リンク数稼ぎ無差別投稿は、9割9分9厘排除できている。誤判定率:皆無メールアドレスが記されていたらspamと判断。今時、foo_bar@gmai.comとかのメールアドレスを掲示板に書き込む「人」はいないよねー。海外の被リンク数稼ぎのspam無差別投稿ロボットは、mailとか書かれた欄があるとそこにアドレスを書き込むのだ。本文(とか)に<aとか[urlとかあったら、spamと判断。HTMLとかBBCodeとかは受け付けてないのに、そんなの書くなら「人」じゃない。被リンク数稼ぎの無差別投稿ロボットは、なぜか、そんな記法でリンクを張ろうとするのが多い。BBCode使えるBBSって、日本じゃほとんど見かけないけど英語圏だと多いのだろうか?GETとPOSTの時間差が5秒?てめぇ人間じゃねぇ排除率:5割ぐらい?誤判定率:かなり低い(設定次第)投稿用フォームに時刻を埋め込み、POST時に比較する。掲示板のページを開いて文章を書いて投稿するのには、それなりの時間がかかるよね。少なくとも3秒なんてのは人間業じゃないし、10秒ってのもまともに文章を書いてりゃ無理。spam投稿ロボットの半数ぐらいはGETしてから5秒経たないうちにPOSTする早い野郎だ。近頃、掲示板へのspam投稿試行頻度が鰻登り。突破率は0.1%もないとはいえ、なかなかに鬱陶しい。POSTに対して一見書き込みが成功した風な返答してるのが原因かな、と思い、POSTをspamと判定したら問答無用で404を返すようにしてみた。2006/12/27,21:36:37,209.213.220.227,"mail2.actslife.org","-","-",GET,"/BBS/BBS.cgi","","1.1",2002006/12/27,21:36:39,209.213.220.227,"mail2.actslife.org","-","-",POST,"/BBS/BBS.cgi","","1.1",404以前は、改造の成果を確認するためにspamのPOSTをいまかいまかと楽しみに待ち構えたものだけど、今や1時間経たないうちに結果が出る。5.1)"...というわけで、48回(2006年12月24日の場合)そりゃ、まったく無防備の掲示板だったら完全に機能しなくなるよな。手作業で対応できる量じゃねぇ。#個々事例spam投稿司令塔とゾンビの兵隊も参照GETとPOSTが違うホストから行われる例であり、また、DSBLの効きがめっきり悪くなった例でもある。#Web対象ページのtitleをtextareaに放り込んだり、cookieを食べたりと、これまでにやってきた芸のないspamとは毛色が違う。72.232.0.0/16として、丸ごとアクセス禁止にした。クラスBを丸ごとってのはどうよ?と思わないでもないけど、日本語に堪能でかつゲーム機のRGB出力化改造とかに興味を持った人が、layeredtech.comにいる可能性は極めて低いと判断してアクセス禁止。巻き込まれた不幸な人がいたなら、あからさまなspammerをのさばらせているlayeredtech.comを呪うがよい。GETしかしていないから規約で退会させるって事ができない、のかもしれないけど、それはそれ。spam投稿司令塔とゾンビの兵隊2006/10/25,22:18:17,209.67.214.90,"server1.xpressaccess.com","-","-",GET,"/BBS/BBS.cgi","","1.1",2002006/10/25,22:18:19,201.13.121.178,"201-13-121-178.dsl.telesp.net.br","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",4042006/10/25,22:18:22,86.55.117.135,"","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",4042006/10/25,22:18:27,59.94.9.179,"","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",404server1.xpressaccess.comがフォームを取得した後、OpenProxy経由での書き込みを試みている様子がはっきりとわかる。対象BBSは、DSBLに登録されているホストには問答無用で404を返すように改造してあるので、投稿自体は失敗に終わっている。司令塔みたいなserver1.xpressaccess.comはDSBLには登録されていない。ただの想像だが、DSBLとかに登録されないように運用しているのだろう。BBQでも引っかからないし。潰してもいい人様の穴のあいたマシンを踏み台にして、実際のspam投稿を行う、と。以下は、他にもあった同様の痕跡。人とロボットを区別したいまたRandomNoteの検索キーワードがかき回された。今度の犯人は、おそらく先読みプログラムの一種。UAはIEを名乗っているので、種類は不明。