自分自身のための ものづくり / 自分自身のためのものづくりメモ

突っ込みなどがありましたら掲示板にお願いします。

* てきとーな、DDSっぽい波形発生器

 PICとR-2Rラダー回路でDDSっぽいのを組んでみた。

(ReadMore...)

* elm-chan.orgから弾かれる条件

 いつの間にやら普通に見えるようになっていたのだが、また見れなくなった。
 どうやら、掲示板へのアクセスがアクセス規制発動の鍵っぽい。SleipnirでShift+クリックで各書き込みをポンポンポン…とまとめて開いたのがまずかったようだ。そりゃ、秒間1アクセス以上になるから質の悪いロボットと誤認されても仕方ないか。

 これを書いている途中で、「スレッド(展開)」モードがあることに気づいた。まとめて目を通すときにはこれを使えばよかったのか。


追記:
 数日前から弾かれなくなってた。規制期間は2週間ぐらい?

追記:
 うちの環境のDNSキャッシュが腐っていただけかも。悪いのはXP?ローカルのBIND?ルータ?ケーブルテレビ?

elm-chan.orgを閲覧できなくなった
http://baku.homeunix.net/WiKi/rnx/index.rb?1147794592.txt

#Web #電子工作

* 馬鹿なspam投稿ツール?

 Apacheのログに、BBSへのPOSTを行ったもののエラーか何かで反映されていない、spammerからのアクセスが時折見られた。
 ApacheのログにはPOST内容までは記録されないので、BBSのプログラムを少しいじってPOST内容を記録するようにして、その手のアクセスを待ち構えることにした。

 で、やっとそんなアクセスが1件あったのだが…
rep_num 0
pass    bsbl7822
do      post
name    Helga
data
mail    vovo@hotmail.com
subj    carpet-cleaning

 本文空っぽ。URLとかを書き込もうとした形跡もなし。
 何をやりたいのだろう?と思って、とりあえず"vovo@hotmail.com"をぐぐってみると…
 どうやら、本文のtextareaのname属性が"body"じゃないと、本文と判断しないらしい。
…馬鹿?

 ま、spammerが能無しなのはありがたいことだ。
 とりあえずDSBLに登録されているOpenProxy経由のを弾いても稀にすり抜けて投稿されるのがまだあるので、そんな馬鹿な作者のツールばかりではないようだが。

#掲示板spam対策 #Web

* PC-9821Nr300, Nw150 ニコイチ

 中古屋でバックライト切れのジャンク扱いのNr300と動作保証ありのNw150を入手。
 ニコイチで修理しようと思ってたのだが、Nr300のLCD部をばらすと部品が落ちてきた。どうやら、コイルがはんだ剥離で外れていたらしい。半田付けしたら無事にバックライトが点灯した。
 でも、Nr300についていたLCDには目立たないとはいえ常時点灯画素があった。Nw150のには無かったのでこっちをNr300に移植。

 Nw150系筐体の持病のヒンジ部のネジのゆるみと、それに伴う取り付け部の破損があり、どのみちニコイチでの修理が必要だ。
 運がいいのか悪いのか、Nw150の方は本体側のヒンジの根元が破損していて、Nr300の方はLCD側が破損していた。

Nr300, Nw150の分解修理には以下のサイトが大層参考になる。
Maintenance PC-98 Notebokk PC
http://pc.ni-land.com/bunshitsu/note/note.htm

Nr150/S20CDROM内蔵化
http://redsiren.homeip.net/~redsiren/pc98/nr150/cdrom.html

 ヒンジ部の補強には以下のサイトが参考になりそう。
シグマリオン2のヒンジ補強
http://nagoya.cool.ne.jp/saramisu/pc/sig2hinge/sig2hinge.htm

 以前にシグマリオン2のヒンジを直したときにはエポキシパテを使ったけど、今回はプラリペアを使ってみるか。近間のホームセンターで売っているだろうか…。

#PC-98 #ジャンク

* Baiduspider締め出し


 こんな迷惑なアクセスをするロボットは、問答無用で閉め出されてもしかたないと思うぞ。
 robots.txt一応読むようだが、27日に一度読んで
2006/07/27,19:22:27,60.28.17.51,"","-",GET,"","1.1",200,
117,"-","","Baiduspider+(+http://www.baidu.com/search/spider.htm)"
それっきりというのはどうかと思う。
 ま、動的ページへの非効率極まりないアクセスの前には、robots.txtを読む頻度が低いことなんて些細なことだが。

#Web

* 画面に十字線を引く

 基板の穴開け補助に必要だったので、やっつけで製作。HSP3用。

 スーパーインポーズできるMSXとかよりも、ビデオキャプチャカード搭載のWindowsマシンの方が多いだろう。カメラを斜めに配置することによる縦横比のゆがみを、ウィンドウをリサイズすることで簡単に補正できるのが魅力。

 カーソルキーで位置を移動。Enterを押しながらだと高速移動。
 作業に使うには、USB接続のテンキーを繋ぐと便利。
(ReadMore...)

* DSBLは効果絶大

公開プロキシ弾きを投入してからspammerがやってくるのを今か今かと待っていたのだが、やっとやってきた。
2006/07/12,16:24:26,222.113.48.67,"","-","-",GET,"/BBS/BBS.cgi","","1.0",404,660
2006/07/12,16:24:30,59.10.196.81,"","-","-",GET,"/BBS/BBS.cgi","","1.0",404,660
2006/07/12,16:24:33,219.251.229.245,"","-","-",GET,"/BBS/BBS.cgi","","1.0",404,660
はい、さようなら。

 spammerがコストをかけずにあちこちからspamをばらまくにはいわゆる公開プロキシを使うぐらいしか手がないだろう。よって、公開プロキシを弾くことは簡便で極めて効果的な掲示板spam対策だと思う。
(botnetを使う手もあるが、そういうクラックをできるspammerはかなり少ないだろう)

#掲示板spam対策 #Web

* いわゆる公開プロキシからのアクセスを弾く

掲示板へのspamが激しくなりつつあるので対策。
(ReadMore...)

* spammerは踏み台を使う、ならば

 spammerっぽいアクセスは、全部いわゆる公開プロキシからのものだった。
 ならば、書き込み処理があったときにプロキシかどうかを調べれば良さそう。

 書き込み時に、http://dsbl.org/listing?hogeの問い合わせをして、リストに載っているなら弾けばいいだろう。
 問答無用で弾くと誤認識だったときに申し訳ないから、その場合にだけ人間かどうかのチェックボックスとかを出せばいいかな。

#掲示板spam対策 #Web

* 日本国外からのアクセスを弾く

 掲示板spam対策として、日本国外からのアクセスの場合は404を返すようにしてみた。
 逆引きではなくIP自体で判断するので、逆引きできない場合も機能する。

2006/07/01,08:13:29,66.249.65.194,"crawl-66-249-65-194.googlebot.com","-","-",GET,"/BBS/BBS.cgi","","1.1",404,671,"-","","Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
 googlebotとかも弾いちゃうのは想定外だったけど、BBSを拾われてもあまりいいこと無いのでこれでよしとしよう。むしろ、これで正常動作を確認できた。


 404を返しつつ普通にフォームを含んだHTMLを返せば、spam投稿ロボットを欺けるかな?

#掲示板spam対策 #Web

* 掲示板spamキタ━━━━(゜∀゜)━━━━ッ!!

 どマイナーな"picoBBS"を使っているおかげで、設置した2003年8月以来まったくspam投稿がなかったわたしゃのWebサイトの掲示板に、ついにspamが書き込まれた。

 むかつくよりも、むしろキタ━━━━(゜∀゜)━━━━ッ!!と大喜び。(笑)

 書き込まれたのは、あちこちで蔓延している英語でのURL羅列系。おそらく披リンク数を増やして検索ランキングを上げる目的だろう。
 その節操の無さから、それっぽいformに片っ端から書き込みを行っているのだろうと推測していたが、これでそうだと確信できた。

 書き込みを行ったホストを調べてみると…
$ echo 84.235.100.2 | ./what_country.pl
SA
$ echo 217.75.194.118 | ./what_country.pl
BA

SA?BA???

http://www.nsrc.org/codes/country-codes.html
によると、
SA - Saudi Arabia
BA - Bosnia Herzegovina

これはこれはわざわざ遠いところから…

参考資料:
不正アクセスの発信地の国別統計をとろう!
http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html

#Web #掲示板spam対策

* はてなのキーワードへのリンクを殺す

はてなダイアリーのキーワードへのリンクを消すProxomitorn用フィルタ。
[Patterns]
Name = "Hatena Keyword Killer"
Active = TRUE
URL = "d.hatena.ne.jp"
Bounds = "<a*/a>"
Limit = 256
Match = "<a class="keyword" href="http://d.hatena.ne.jp/keyword/*">(*)\0</a>"
Replace = "\0"

「このはてなダイアリーの存在意義のひとつと言っても過言ではない素晴らしい機能。」
とあるが…正直、邪魔。

#Proxomitorn #Web

* HTMLをXHTMLに変換してREXMLで処理

プログラム(抜粋)
h = Html2xhtml.new
h.read_array(readlines)

require "rexml/document"
y = REXML::Document.new(h.body.to_s)

y.elements["/html/body"].elements[6, 'table'].elements['tr/td'].elements.each('a') do |a|
    p a.attributes['href']
    print a.text.strip + "\n"
end
結果
"http://auctions.yahoo.co.jp/jp/0-category.html?"
オークション
"http://list3.auctions.yahoo.co.jp/jp/23336-category.html?"
コンピュータ
"http://list3.auctions.yahoo.co.jp/jp/2084039759-category.html?"
パーソナルコンピュータ
楽だ…めっちゃ楽だ…

#Web #ヤフオク

* RandomNote 作成日を表示+年月日のみで時分秒は非表示

def print_leaf(fname, view=nil, anchor=1)
内を改造
      s = "%s\n\n%s\n%s" % [mes.chomp, Time.at(fname.gsub(/\D/,'').to_i).strfti\
me('create : %Y/%m/%d (%a)'), File.mtime(fname).strftime('update : %Y/%m/%d (%a\
)')] # modified by bakuchikujuu

#RandomNote #Web

* target="_blank"があらかじめわかるように

 target="_blank"がついたリンクの前に&rArr;を挿入するproxomitorn用フィルタ。
[Patterns]
Name = "_blank identifier"
Active = TRUE
Bounds = "<a*>"
Limit = 256
Match = "(<a*target=("| )_blank("| )*>)\1"
Replace = "&rArr;\1"

#proxomitorn #Web