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

* 掲示板spam対策 (英語圏からのspam用)

 近頃猛威をふるっている、海外からのURL羅列spam等に対する対策。

 本文に多バイト文字が入っていなければエラーとして弾く。
 安直で簡単な対策ながら、効果絶大・副作用極小。
(ReadMore...)

* mixi外からmixiへのアクセスを防ぐ

Proxomitorn用フィルタ
[Patterns]
Name = "Block mixi form not mixi (IP)"
Active = TRUE
URL = "(^mixi.jp)"
Limit = 512
Match = "59.106.41."

Name = "Block mixi form not mixi"
Active = TRUE
URL = "(^mixi.jp)"
Limit = 512
Match = "mixi.jp"
Replace = "mixotron.jp"
mixi.jp以外のサイトではmixi.jpという文字列を片っ端から書き換えてしまうという力業。
※単純に文字列の置換を行うだけなので、Javascriptで難読化されたりすると通用しない。
#悪用のヒントを出すのはどうかとも思うが、どーせ悪用するような人はそれぐらい思いつくだろう。
(ReadMore...)

* Yahoo!オークションWebサービスとRSSとを併用

 これまでは、役に立たないと思っていたヤフオクのRSSは結構使えるかもしれん。
 特に、Yahoo!オークションWebサービスのAPIでは検索できないけど、RSSの方なら検索結果が得られるのはありがたい。
http://search3.auctions.yahoo.co.jp/search_rss?p=mobilegear&auccat=23336&alocale=0jp&acc=jp

#Ruby #REXML #ヤフオク #YAH! #途中経過

* YAH!X試験中

 Yahoo!オークションWebサービスにより提供されるXMLデータを使うYahoo!AuctionHelperを作成中。

↓とりあえずの実験バージョン
http://baku.homeunix.net/program/yahX/yahX_test01.rb?category=2084045752&pic=true
categoryを書き換えれば他のカテゴリを見れる。
pic=trueで画像表示。それ以外で非表示。

 YAH!の特徴である各種NG機能は、とりあえず「NGキャラクタ」のみ実装。
 「次の25件」をいちいちクリックしなくてもいいので、現状でもとりあえずそこそこ役立つと思う。

 YAH! Ver.3としようかと思っていたけど、Yahoo!オークションWebサービスでは今のところキーワード検索ができないっぽいなどの理由で、Ver.Xとして別物としての扱い。

#Ruby #REXML #ヤフオク #YAH! #途中経過

* REXMLを使ってヤフオクのXMLデータを読む

 楽だ…。機械で読みやすいデータが提供されてるというのはこんなにもありがたい物だったとは。
 また、便利なREXMLに感謝。

#!ruby -Ku

require 'jcode'
require 'nkf'
require "rexml/document"

file = File.new( "y.xml" )
y = REXML::Document.new file

y.root.each_element('item') do |item|
  p item.elements['auctionID'].text
  p item.elements['title'].text
  item.each_element('seller') do |s_item|
    p s_item.elements['itemlist'].text
    p s_item.elements['rating'].text
  end
  p item.elements['url'].text
  p item.elements['img'].text
  p item.elements['price'].text
  p item.elements['bids'].text
  p item.elements['endtime'].text
end

Yahoo!デベロッパーネットワーク - オークションWebサービス
http://developer.yahoo.co.jp/auctions/

REXML - Home
http://www.germane-software.com/software/rexml/index.html

私家版REXML APIリファレンス
http://www.cozmixng.org/~kou/ruby/rexml/reference

REXML Tutorial - Home
http://www.germane-software.com/software/rexml/docs/tutorial.html

REXML であそぶ
http://www.namikilab.tuat.ac.jp/~sasada/prog/rexml.html


#Ruby #REXML #ヤフオク #YAH! #途中経過

* RandomNoteのrefererを検索エンジン(等)に登録させない

 アクセスログを眺めてたら、RandomNoteのrefererページに検索エンジン経由でのアクセスがあった。

 Webページでの披検索語の表示は迷惑極まりない。その単語が更にCGIに登録されて、それを検索エンジンが拾って、その単語で検索した人がアクセスして…。
 俺自身が大嫌いな要素なのに自分がやらかしていたとは…なんてこった…。

 というわけで、ざくざくとRandomNoteをいじった。
 もともとのコードにヘッダにロボット避けを入れる機能があるので、refererの表示の際にはそのようにするように変更。
def do_referer内
#  print_header(' - referer')
print_header(' - referer', true) # 検索エンジンにリンク元が登録されると邪魔

 あと、cahge_logも検索エンジンにインデックスされるべきじゃない。
def do_change_log
#  print_header
print_header(' - change log', true)

#RandomNote#Web

* DOSモバとAIR-EDGE

AH-S405CをMobile Gear for DoCoMoに装着し、ちょいちょいと設定すると、あっけなく「テキストブラウザ」を使ったWebの閲覧ができた。



 ただし、「テキストブラウザ」は制限が色々あるので、そのままでは実用的に使うのは苦しい。
 googleのトップページすら開けないのはなぜだろう?
 テキストだけでも十分と思って開いた2chもちゃんと読めない。gzip圧縮に対応していないとダメなのかも。


 ちなみに、昔、MC-P300で試したときには数KB読んだところでつまって、モデムのATXコマンドをいじったり等もできないため手詰まりだった。

#モバイルギア #PDA

* 読みやすいWebページを目指して


UI 設計の 5 世紀
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnwebtool/htm/ui5.asp
「何時間使っても疲れない自然なユーザー インターフェイスを持つアプリケーションを設計しました。実のところ、あまりにも透過性に優れているため、ユーザーの意識から『消えます』。まるでユーザー自身の脳の一部のようで、アプリケーションを使っていることさえ忘れてしまうほどです」

まるで UI 設計における聖杯のようじゃありませんか?私たちを仮想現実世界へと導く、あくまでも空想上の未来像だとお思いでしょうか。そう思っているとしたら、それは間違いです!私たちはみんな、これくらい自然な UI をほとんど毎日のように使っています。私たちはそれを「本」と呼んでいます。

#Web

* 電気用品安全法関連を扱っているサイト


ITmediaニュース:「名機」が販売禁止に 4月に迫る「電気用品安全法」
http://www.itmedia.co.jp/news/articles/0602/14/news017.html
http://www.itmedia.co.jp/news/articles/0602/14/news017_2.html

オーディオみじんこ/オーディオ聖地巡礼記2004年6月
http://audiomijinko.web.infoseek.co.jp/yatra/2004.06.html
PSE認証のその後1
オーディオユニオン御茶の水アクセサリー館の現状

オーディオ各店の現状2004年4月に施行された新電気用品安全法によって、日本国内ではPSE認証を受けていない電源パーツは販売できなくなった。この影響は大で、PSE認証を取得していた一部のメーカー製品を除いて、4月1日よりオーディオショップの店頭から相当数の電源アクセサリーが消えていった。さて、あれから3ヶ月が経とうとしている。オーディオショップの店頭はどんなふうになっているか、私が実際に追跡調査してきた現状を各オーディオ店毎にお伝えしていこう。

中古ゲームハードが今春から店舗で買えなくなる?:Garbagenews.com
http://www.gamenews.ne.jp/archives/2006/01/post_474.html
【電気用品安全法】の猶予期間(5年間)が今年2006年の3月31日で終わるため、PSEマーク(基準に適合したことを示すマーク、届出と検査が必要)が無い家庭用電気商品が4月1日から買えなくなる可能性が出てきた。リサイクルショップで販売されている家電商品などはもちろん、過去の家庭用ゲーム機の一部も該当するとの解釈があり、特にレトロゲームハードやゲーム基盤ファンの間には衝撃が走っている。

* RandomNote ロボット対策

 今度はgooのichiroが検索ワードを引っかき回していった。

 検索ワードによるリンク先にアクセスするとその単語がageられるけど、ロボットにかき回されると困る。…が、ロボットによるアクセスだけをうまく制限する方法が思いつかない。他の人にも役に立つかもしれないメモ帳を目指しているので、ロボットの完全排除は論外だし…。

 ぱっと思いつくのは、UAを見てロボットだったら記録に残さないように改造すること。でも、ブラックリスト方式だから、最初にリストを作るのがやや面倒で更に新手が増えるたびにリストを更新する必要があるのが面倒だぁ。

 とりあえずの対策として、ichiroとかはRefererが空なので、Refererがnilな場合は検索ワードを追加しないようにした。
def save
  PStore.new(CACHE_DATA).transaction do |db|
#    db['search']  = @search
    db['search']  = @search if @cgi_referer != nil

2006/02/09:今度はmsnbotが引っかき回していった。対策をミスっていたのが発覚し訂正。
cgi_refererはリファラ無しの場合はnilなのだな。

#RandomNote #Web

* robots.txt BecomeBot締め出し

User-agent: BecomeBot
Disallow: /

 RandomNoteの検索履歴をしっちゃかめっちゃかにしていきやがったBecomeBotをルートから締め出し。
 どーせ日本語読めないんだから、その方が互いに資源の節約だ。

 RandomNoteはロボットに検索させないようにしているようなんだけど、BecomeBotはmetaを解さないらしい。

参考:
ウェブマスターフォーラム - クローラの情報
http://forum.su-jine.net/theme/seo/58/

◇追記
2006/02/04,11:58:17,64.124.85.211,"64.124.85.211.become.com","-","-",GET,"/robots.txt","","1.1",200,117,"-","","Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)"
robots.txtを読んで去っていった。その辺は行儀がいいな。

#Web

* slashdotted


 スラッシュドットジャパンへの書き込みで、参考資料としてbaku.homeunix.netに写真をアップロードしてリンクを張ったら、(普段に比べると)ものすごい量のアクセスがあった。

$ head -1 /var/log/apache/access.log
xxx.xxx.xxx.xxx - - [15/Jan/2006:06:28:02 +0900] (略)

$ cat /var/log/apache/access.log | grep slash | cat -n | tail -1
 822  xxx.xxx.xxx.xxx - - [16/Jan/2006:23:15:26 +0900] "GET /loft/CADAM_FKbd.jpg
HTTP/1.1" 200 55719 "http://slashdot.jp/articles/06/01/15/0750208.shtml"

$ ruby -e "p (Time.local(2006,1,16,23,15,26).to_i-Time.local(2006,1,15,6,28,2).
to_i)/822"
178

というわけで、3分に1アクセスぐらい。

 たいして大きくもない静止画一枚だからいいものの、メガバイト単位の動画データとかだと大変なことになりそうだ。
 また、コメントだからまだいいものの、タレコミ本文からのリンクだとアクセス量は半端じゃないだろう。

 スラド/jpではslashdottedは発生しないという人もいるけど、弱小回線の弱小サーバなら十分にあり得るだろうな。


#Web #雑記 #2006年1月

* HSP関連参考ページ

* RandomNote 書き換えは自分だけ

BASIC認証を用いて、追加・書き換えは私:爆竹銃だけが行えるように設定。

#Web