http://www.shtml.jp/htaccess/referer.html
このURLにありますように、referer の値で制限をかけれます。
以下のようにすると、RefererのURLに「http://www\.yourdomain\.com」が含まれているかどうかでチェックしています。
Refererっていうのは、どのページから来たとか、どのページで表示されているとかが取れる値です。
SetEnvIf Referer "^http://www\.yourdomain\.com" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
画像のディレクトリを.htaccessで保護してはどうでしょう。
会員への表示は、phpをに画像を一旦読み込ませて再出力すれば
問題なく可能だと思います。
URLダミーで失礼します。
確かに
ただ、ひとつ問題は、ニュースサイトなので
全部の画像のリンクを、PHP経由にするのは、少しつらいのです
でも、対策としてはありですね
PHPで認証を行っているなら、保護したい画像をPHP経由で出力してやれば良いと思います。
簡単にですが、サンプルを。
<?php if (auth()) {//認証処理 $file = "/path/to/images/img_" . $_GET['img'] . ".jpg"; } else { $file = "/path/to/images/error.jpg"; } header("Content-type: image/jpg"); readfile($file); ?>
loader.phpとして保存して、以下の様にアクセスします。
<img src="path/loader.php?img=12345">
$_GET['img']の妥当性検査や、画像の拡張子による処理変更、Content-legthの出力、Winサーバならreadfileがバイナリセーフかなど、細かい所は手を入れてください。
もちろん、認証を経由して後悔したい画像を置くディレクトリ(サンプルでは/path/to/images/)はHTTPでアクセスできない所に置く必要があります。
URLはダミーです。すいません。
これも、同等ですね
ただ、サンプルがあるのでわかりやすいです
http://www.shtml.jp/htaccess/referer.html
このURLにありますように、referer の値で制限をかけれます。
以下のようにすると、RefererのURLに「http://www\.yourdomain\.com」が含まれているかどうかでチェックしています。
Refererっていうのは、どのページから来たとか、どのページで表示されているとかが取れる値です。
SetEnvIf Referer "^http://www\.yourdomain\.com" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
ほうほう、これは、大変面白いです
そんなに協力に画像を保護する必要もないので
これ解決方法が良いかもしれません
a) 画像をWebで不可視のディレクトリに保存しておいてそのつど動的に出力する
b) 表示したページの画像を右クリックで保存できないようにJavaScriptで制御する
という方針になるかと思います。
3の方の回答に、JavaScript の制御を加えると良い形になりそうです
ほうほう、これは、大変面白いです
そんなに協力に画像を保護する必要もないので
これ解決方法が良いかもしれません