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

* 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

* 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...)

* 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

* RandomNote 内部へのリンク/外部へのリンク 差別化


def link_self(mes='', fname=nil, cmd=nil, option=nil, smode=nil, anchor=nil)
内を改変
%|<a class="self" href="#{url}" #{anchor ? anchor : ''}>#{mes != '' ? mes : '\root'}</a>|

後は、テーマのCSSを適当に変更のこと

* 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 #ジャンク

* RandomNote 書き換えは自分だけ

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

#Web

* RandomNote 参考文献

* RandomNoteを試してみる

RandomNoteを試してみる。


面白くて簡潔なシステムだ。でも、画像をインライン貼り付けする術がない?

画像インライン貼り付け機能付与

def inline(mes)内を改造。
    case $1
    when /(\[\[(.*?)\]\])/
      case $1
      when /\[\[img:(.*?)\|(.*?)\]\]/ # add by bakuchikujuu
        %|<img src="#$1" alt='#$2' />|
      when /\[\[img:(.*?)\]\]/ # add by bakuchikujuu
        %|<img src="#$1" alt='' />|
[''''''[img: ../photoxp/image/photoxp/f3/M_1.JPG]'''''']
とすることで、以下のようにインライン画像となる。

altを明記する場合は、
[''''''[img: ../photoxp/image/photoxp/f3/M_1.JPG|基板穴開け補助]'''''']
とすることで、以下のようにインライン画像となる。
基板穴開け補助

記法はWikipedia:編集の仕方を参考にした。

画像掲示板

画像アップロード用として、Rubyで組まれたPhotoXPを設置。
http://baku.homeunix.net/WiKi/photoxp/photoxp.cgi
にてアクセス可能。