JavaScriptで直接リンクを防ぐ直接リンクを防ぎたいよくあるリクエストとしては、勝手にリンクされることを防ぎたいというのがあります。仕組み的には、リンクをはるためにHTTPが存在しているわけで、最近はやりのブログなどについているトラックバックもそのようなリンクを自動的に張るための仕組みです。HTTPでWebを公開している以上、「公開」が前提なのですが、、、たまに勘違いされている方も多いようで。確かに直接リンクを嫌がる場合もあります。フレームなどにリンク先の内容が取り込まれてしまい、あたかもリンク元の1コンテンツのような見え方になってしまっている場合。(意図的ではなくても、結果的にそうなることもあります。)ページの作成者が意図した順番で見て欲しい、つまり、トップページから入って欲しいのに、別のページに直接リンクを張られてしまう場合。(まぁ、これも、作る側の勝手ですが)あと、これはページではないのですが、画像の他サイトからの呼び出しが多く、トラフィックが異常に増えてしまうのを防ぐ場合。これらは、通常、サーバー側でなんらかの細工をする必要があります。通常のHTMLレベルでも1と2の場合であればなんとかなります。(画像はサーバーの設定が自由にできないと、もしくはCGI等で画像を書き出さないと無理です)JavaScriptを利用するのですが、JavaScriptのreferer情報を見て、その内容で表示させたりしなかったりというコントロールをするわけです。サンプルは下をどうぞ。下のリンクをクリックすると表示を拒否するメッセージを出します。リンク経由でなく、直接URLから呼び出すとOKの表示が出ます。これは解説不要でしょう・・・>>こちらをクリック(サンプル)こちらのアドレスをコピーして直接呼び出した場合と比較してみてください。解説が不要・・・といったところで、やっぱり解説があった方がいいと思うので、簡単に解説して応用したいと思います。先ほどのJavaScriptのソースは下のとおりです。document.write(refinfo);11:}12:</script>これをHTMLに書き込めばいいのですが、簡単に解説してみたいと思います。refinfo=document.referrer;この「document.referrer」で、直前に見ていたアドレスを取得することが可能です。これを「refinfo」に代入します。ここになにも入っていないということは直接来たということになりますよね。バナーの直接リンク禁止!なんていうのを見かけますが、「は?なんで?」って思います。画像を直接リンクされて困るのはネットワークを保持しているHosting会社です。そのHosting先の規約で1日の転送量による従量制料金の規制でもあるなら理解できるのですが、全く関係のない場所で(ようはプロバイダーが用意したページスペースで)バナーの掲載をしていて直接リンク絶対禁止なんていうのはある意味笑ってしまいます。いくつかある有名素材配布サイトが先ほどかいたHosting上の転送量の問題から直接リンクを禁止しているのを、勘違いして自分のサイトも・・・と思っているのでしょうか?あと、Geoとかが直接リンクをサーバー上の設定で禁止しているのは、GeoのHTMLページを見せたいからです。Geoはそこに表示されるHTML上の広告で経営が成り立っています。それが、画像だけリンクされるのでは広告は表示されません。よって、言葉で禁止という以前に、サーバーでそのようなことが出来ないようにしているのです。これも、先ほどのJavaScriptで紹介したような方法をサーバーレベルで実行しているだけのことですので、Referer情報を出さないブラウザ(Operaや自作した場合など)の場合には意味をなしません。個人的にはインターネットは情報を自由にやり取りするために出来た空間で、その手段としてHTTPやHTMLなんていう手法が作り出されたところから考えると、基本的にはリンクOKじゃないの?と思います。いやなら、言葉で「だめよ」ではなく、そのようなサーバーを借りるなり、作るなりして設定する必要がありますよね。そのように書いて、初めて直接リンク禁止と言えるのではないでしょうか?不正アクセス禁止法的にも、自分の情報を勝手に参照されたくなければ、それなりの措置を講じる必要があります。誰でも見てもらうための空間(つまり、インターネット)に情報を置いておいて、見るなと主張すること自体が間違っているというわけです。