このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

正規のサーバーから呼ばれたときだけ画像を表示するには?

発言者:鈴木雅也
( Date Sunday, November 23, 1997 08:57:03 )


少し前からQuid Pro Quo1.02でWebサーバーを構築しておりますが、
少し人気のあるページが出来、画像にだけリンクを張られて
他のサーバ(こちらはかなりアクセスがあるらしい)から
画像にだけアクセスがあります。
これを防止するために、自分のサーバー内からの呼び出し
(つまり、自サーバー内のHTMLからの呼び出し)のみに対し
アクセスを許すようにしたいのですが、これは簡単には
UNIXサーバーでしかできないものでしょうか。
たぶん、acgiを呼び出し、何らかのシステム変数をチェックして
画像を送るという方法が適切なのだとは思うのですが・・。

重松修 さんからのコメント
( Sunday, November 23, 1997 09:35:51 )

CGIによる方法だと、ServerName“svnm”を確認して自分であれば、
PathArgumentsとかにもたせた引数にリダイレクトすれば
多少は防止できるのではと思います。

完全にシャットアウトするのであれば、リダイレクトではなくCGI自体が画像を
読み込み送信しないといけないと思います。

しかし、インターネットの場合リンクとコンテンツの盗用の線引きは難しいですね。
たとえば、個人の情報提供コンテンツなどもよくNIKKEI BPとかそういうところの
記事にダイレクトにリンクを張り、“あたかも自分のコンテンツの一部”で
あるかのような運営をするサイトをよく見ます。こういう場合には、NIKKEI BP
にとってみれば、バナー広告が表示されない上、案外、その個人ページが
スポンサー募ってたりしますので、たちが悪いですね。

アメリカでは裁判沙汰になった記憶がありますが、結果がどうでたかまでは
しりません。

田中求之 さんからのコメント
( Sunday, November 30, 1997 23:03:40 )

画像の呼び出しのアクセスの Referer をチェックすれば、どの URL のページから
呼び出されているかがわかりますので、ここが自分のサイトでなかった場合には、
アクセスを拒否するという処理を行えばバッチリです(実験したことがあります)。

PreProcessor を作っておけばよいでしょう。ただし、アクセスの処理がすべて
PreProcessor のチェックを受けることになりますので、この点はデメリット
になります。

これを防ぐには、画像送りだし用の CGI を作って、こちらでチェックを行う
という方法もあります。