• ベストアンサー

リンク先のURLを隠して画像を表示したい

公開用Webサーバーと、非公開用Webサーバーがあります。 ユーザーは公開用Webサーバーにアクセスしますが、画像ファイル(HTML)だけが非公開用Webサーバーにあり、リンクさせて表示したいと考えています。 ただし、非公開用WebサーバーなのでURLを見せたくありません。 非公開用WebサーバーのURLを隠して、画像ファイル(HTML)を表示することは可能でしょうか?また、その方法を教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

直リンク対策ソフトはいかがですか? URLにあるフリーソフトの場合、ファイル格納フォルダをCGIで指定するために直のアドレスはわかりません。 + <public_html> | + <cgi-bin> | + <filesafe> | + tfsafe.cgi (705) | + access.txt (606) | + errors.txt (606) | + <tfsdata> (707) + config.txt (606) + mytools.gif (604) 上記のようなフォルダ構成になりますが、上記の例だとブラウザではアクセスできないpublic_html以外にフォルダ<tfsdata> を設定し画像を格納してあります。(対象画像はmytools.gif) で、HTMLファイルでは/cgi-bin/tfsafe.cgi/mytools.gifというようなURLでリンクになります。 クリックすれば画像が表示されますが http://www.***.com/では/cgi-bin/tfsafe.cgi/mytools.gif というアドレスにアクセスしても拒否のメッセージが表示されてしまいます。 こちらの指定したドメイン以外からのアクセス拒否もできますので一石二鳥かと思います。

参考URL:
http://www.mytools.net/cgitools/filesafe1.html
fatyma
質問者

お礼

ご紹介ありがとうございました。 試してみたいと思います。

その他の回答 (4)

  • togino
  • ベストアンサー率75% (97/129)
回答No.5

ANo.3 の回答に似ているかもしれませんが、 ブラウザ <img src="view.cgi?filename=001.jpg">  ↓ view.cgi?filename=001.jpg 公開用サーバの view.cgi  ↓ GET /files/001.jpg 非公開サーバ  ↓ 001.jpg を返す 公開用サーバ  ↓ そのまま出力 ブラウザ のように、画像を Proxy する CGI を作って 公開用サーバにおいておけば、ブラウザからは 非公開サーバは見えません。 CGI のプログラム例が必要ですか? 僕は PHP が好きなので PHP がいいですが Perl でもかまいません。

fatyma
質問者

お礼

ご回答、ありがとうございました。

回答No.4

#3です。スミマセン、見にくくなってしまいました・・・。 http://www.***.com/では/cgi-bin/tfsafe.cgi/mytools.gif も http://www.***.com/cgi-bin/tfsafe.cgi/mytools.gif のミスです。失礼しました。

回答No.2

 右クリック禁止などわかりにくくする方法はあるものの、完璧な方法はありません。(参考URL)  画像が少ないのでしたら、公開サーバーに画像のミラーを置く、多ければサムネイルのみの表示にする、などの方法も考えられます。  閲覧時のみ、画像ファイルを1枚ずつ公開サーバーに一時的にコピーするようなプログラムを組む方法もあるでしょう。 セキュリティの重要度、サーバー能力、手間を天秤にかけて考えてみてください

参考URL:
http://tohoho.wakusei.ne.jp/wwwxx029.htm
回答No.1

データそのものを移行する、という考え方は… …いかがでしょうか…?

関連するQ&A