TOP  >  健忘録  >  健忘録 : 2007年 03
今日の一言

忙しいというのはとても恥ずかしい状態だ。そんなこと人に威張れることですか?

2007年3月31日(土曜日)

ディープリンクを拒否する

カテゴリー: - etupirka @ 19時18分20秒

トップページ以外のリンクを禁止したい、というサイトオーナーがいるだろう。
今回は以下の構成のサイトでディープリンクを技術的に禁止する対策を施してみよう。なおPHPやCGI、Pyhoonなどは一切使えない、robot.txtも作成する権限がないこととする。

/home/public_html/index.html​
          /main
          /doc
          /contact
          /link

public_html直下にはindex.html以外は置かず、その他全てのコンテンツは各フォルダ内に格納したものとしよう。

作業の目的はおおまかに分けて2つ。検索エンジン対策、それから利用者に対する対策の両方とることになる。

まず検索エンジンのクローラの対策。通常、検索エンジンはクローラなどと呼ばれるロボットを使ってWEB上のページを巡回している。
まず、metaタグにロボットの動作を制御する内容を盛り込む(※タグの最初を全角記号にしている)。

トップページは 

<META NAME=\"ROBOTS\” CONTENT=\"INDEX,NOFOLLOW\">

その他のページでは

<META NAME=\"ROBOTS\” CONTENT=\"NONE\">
<META NAME=\"ROBOTS\” CONTENT=\"NOINDEX,NOFOLLOW\">

これはトップページだけのアクセスを許可して、トップページにあるリンクを辿ってのクローラのアクセスは禁止する、という意味だ。
続いてトップページ以外のページではアクセス自体を禁止している。

しかしこのmetaタグだけでは実はあまり効力を持たない。というのもGoogleやYahoo!のような大手サイトはこのmetaタグをきちんと読んでくれるのだが、NeverやBaiduなどの「行儀が悪い」検索エンジンはこれをまったく読まずにサイトに侵入してくるからだ。
そのため、警告を無視して侵入して来たエンジンをエラーページへ誘導させるための手順も書いておこう。.htaccessを使用する。

まずはおまじないとして以下の記述をする。

<Files ~ \"^\\.ht\">
deny from all
</Files>

これは「.ht」からはじまるファイル名のファイルへのアクセスを禁止するというもの。
.htaccessの中身が閲覧されることはセキュリティ的に問題があるからだ。今回の例では、アクセスを禁じたつもりが、悪意のあるクローラにとってはどこに大事なコンテンツが隠されているか教えることにもなる。

次に、すべてのアクセス者のUserAgentを取得して、クローラと特定されるアクセスを弾く。

SetEnvIf User-Agent \"crawl\” deny_user
SetEnvIf User-Agent \"search\” deny_user
SetEnvIf User-Agent \"bot\” deny_user
SetEnvIf User-Agent \"Googlebot\” deny_user
SetEnvIf User-Agent \"Slurp\” deny_user
SetEnvIf User-Agent \"msnbot\” deny_user
SetEnvIf User-Agent \"TMCrawler\” deny_user
SetEnvIf User-Agent \"yodao\” deny_user
SetEnvIf User-Agent \"snapbot\” deny_user
SetEnvIf User-Agent \"OutfoxBot\” deny_user
SetEnvIf User-Agent \"sproose\” deny_user
SetEnvIf User-Agent \"never\” deny_user
SetEnvIf User-Agent \"IRLbot\” deny_user
SetEnvIf User-Agent \"Baiduspider\” deny_user

order allow,deny
allow from all

deny from env=deny_user

ErrorDocument 403 http://mysite/i​ndex.html

このファイルを、それぞれcontents,doc,contact,linkのフォルダ内に置く。
ちなみに、この方法もまだカンペキではない。というのも、一部のクローラはUserAgentの偽装などの手段を用いてサイトにアクセスしてくるからだ。
また、そういったクローラの対策として多くのwebmasterがIPやホストを利用してアクセスを制限する方法をとるため、新規のIPを取得してクロールしに来るロボットもいる。
カンペキを目指すのなら毎日クローラの情報をチェックしてUserAgentを追加してく(あるいはUserAgentを隠しているものに対してはIPやホスト単位で対策をする)必要が、これでGoogleやYahoo!からのアクセスはカンペキに防げるとだろう。
また、最後の行では、拒否されたユーザーはトップページへリダイレクトされるように設定しているので、トップページに「ディープリンク禁止」の旨を書いておくと良いだろう。(※注意:この方法をとった場合、一部のクローラは何度もトップページ→違うページ→トップページという順番を巡回するかもしれない。アクセスログをよく読み、巡回が起こっている場合は別のファイルへリダイレクトする必要がある)

次は利用者への対応だ。こちらはJavaScriptで対策をしてみよう。

if( document.referr​er.length != 0 ) {

if(document.referr​er.indexOf(\"mysite.com\") == -1){
alert(\"********************************************************** \\n\\n\” + \"Error !! \\n\\n\\n\” + \"当サイトはトップページ以外のリンク(直リンク、ディープリンク)を禁止しています。\\n\\n\\n \” + \"直リンクしているサイトの管理人さんにこのエラーメッセージを教えてあげてください。\\n\\n \” + \"トップページへ自動的に移動します。 \\n\\n\” + \"**********************************************************\");
location.href = \"http://mysite/i​ndex.html\”;
}

}

このスクリプトはリファラに他サイトのURLが含まれているアクセスに警告を出し、トップページへ誘導する、というもの。ウイルス対策ソフトがリファラーを隠す問題も考慮している。
実行例はこちら。外部サイトからこのURLへリンクを貼ったとき、アラートは表示される。内部リンクの挙動確認はこちらから。

JavaScriptは携帯に対応していないが、PHPやCGIが使えないためディープリンクができてしまうのだが、PCについてはこれでカンペキだろう。

以上のようにすれば不愉快なディープリンクを防ぐことができる。
ちなみにこのサイトはリンクフリー、ディープリンクも検索エンジンも大歓迎である。好きなところでリンクしてください。


このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをNifty Clipに追加このエントリをBuzzurl(バザール)に追加このエントリをNewsingに追加

2007年3月30日(金曜日)

Google Dance と 小林麻耶

カテゴリー: - etupirka @ 01時37分26秒

とあるサイトを見ていたら、小林麻央のamebloのブログへリンクがあった。このブログ、GoogleRankが3つ。まぁ順当なところか。
ところで姉にあたる小林麻耶のブログはTBSのサーバー内にあるのだが、こっちは何とGoogleRankなし。おいおい、切なすぎるぜ姉ちゃん。Alexの順位も見てみようかな〜とか思いつつもそんなに興味ないので記事は一切読まず。ていうか2人とも良いお年を召されていたのね。

今週の月曜日にGoogleDanceがあったようだ。予定では4月末と聞いていたはずだけど、聞き間違いだったのかな・・・。このブログ、相変わらずランクはなし。でもまぁ、小林麻耶と一緒だからね。

これっていいのか?わるいのか?


このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをNifty Clipに追加このエントリをBuzzurl(バザール)に追加このエントリをNewsingに追加

2007年3月29日(木曜日)

WYSIWYG

カテゴリー: - etupirka @ 12時00分28秒

実は Dreaweaver の古いやつを持ってた。いらなくなったものを誰かから貰ったのだろう。バージョン3Jっていつのだろうなぁ・・・。
インストールしたあとにAdobeで配布しているパッチを二個あてた使ってみた。これがかなり起動早くて良いのだ。GoliveなんていまだにPHPファイルを扱えないのに、DWはこの当時からサポートしているとは・・・。
他にもezHTMLとか有名らしいフリーソフトをいれてみたけど、うーん、どうして有名になっちゃったんだろうねぇ。遣う気も起きずに即アンインストール&削除する。
今残っているものはalphaEdit、StyleNoteそしてNvu。最後の奴は例の Composer の後続として出たが、やっぱり開発が止まってしまったもの。バグが多い、とのことだが、フリーで使っている分にはこれが一番完成度が高い気がするのは気のせいだろうか。私の感覚がおかしいのか・・・。
ちなみに、これらWYSIWYGツールの中で、文中に改行をいれたとき、素直に<br>をいれず、</div><div>のようにあり得ないぐらいたくさん段落をつくっちゃうおバカさん(Golive)があるから気をつけた方が良い。
さて、何を使うかな・・・。


このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをNifty Clipに追加このエントリをBuzzurl(バザール)に追加このエントリをNewsingに追加

2007年3月28日(水曜日)

「Start Mac体験モニター」募集

カテゴリー: - etupirka @ 20時55分07秒

Macのキャンペーンに申し込んでみた。何やらブログを持っている人で、マックを使ってなくて、マックのレポを書ける人を50人募集してマックを貸してくれるといるという(本当はもっと細かい基準があるのでリンク先を参照のこと)。

期間内に10回以上ブログを更新、ブログパーツ(って何だろう?XOOPSのブロックみたいなものか?Wordpressにそんな機能があったか?)を掲載、体験談を投稿、モニターイベントの参加する・・・か。交通費はこちら負担。むうう、四ヶ月貸してくれるのにしてはちょっとボリ過ぎじゃないか。
申し込んだ後に気づいたのだが、何とモニターが満了するとそのままマックをお土産にくれるという。ああ、なるほど。。。金銭的にはちょんちょんか?でも四ヶ月よりももっと使えるというのだから、それはかなりの収穫になるだろう。このブログや私が運営している他サイトもマックからイジってみたい。

ちなみにITmedia+Dの記事では締め切り期間が5日も間違っているのは内緒である。きっとAppleから送られてきたDMだけを見て書く、DMの送信後にApple側で期間を延長したのだろう。よくあるよくある。

ちなみに、+D PC USER 編集部の食品担当による、期間限定冬搭載マックの記事はこちら


このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをNifty Clipに追加このエントリをBuzzurl(バザール)に追加このエントリをNewsingに追加

2007年3月26日(月曜日)

読み逃げ反対! だけど絡んでね

カテゴリー: - etupirka @ 21時22分38秒

ITmedia では週ごとアクセス集計を毎週発表している。先週のアクセストップはmixiの読み逃げ文化についてだった。

だが私はその記事を誤読して、

正)携帯コミュニティーで「読み逃げ」や「素通り」を嫌うユーザーは、「絡まれ」たがっているようだ。
誤)携帯コミュニティーの「読み逃げ禁止」や「素通り禁止」を嫌うユーザーは、「絡まれ」たがっているようだ。


と読み間違えしまい、「すまん、悪かった!」とか何とか岡田さんからおしかりを受けている気分になった。確かに、私は読み逃げに関する記事にトラックバックを送った1人である。本当に「絡まれたがっている」と思われてしまっても反論はできないだろ。いや、するけどね。

若い人の愛情表現は屈折しているのだろうか。昔は親や兄弟に向かって向けられていた愛情が素直に表現できなくなり、その結果が「絡み」と「素通り禁止」の文化へ発展したのだろうか。

私はこれを一つの過渡点として捉えている。単に「素通り禁止」「絡み」を強制しているだけの若者文化が、今後どのように広がり、発展するのか。私がその文化の担い手、主人公になるには年を取りすぎているのが非常に残念である(皮肉だよ)。


このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをNifty Clipに追加このエントリをBuzzurl(バザール)に追加このエントリをNewsingに追加


21 queries. 0.195 sec.
Powered by WordPress Module based on WordPress ME & WordPress