0

誰でも自分のサイトから画像をホットリンクできるようにするシナリオがありますが、Referer を検出すると透かしが表示されます。

ディレクトリ上の画像のURLまたはフルパスを取得し、透かしをオーバーレイする透かしPHP GDスクリプトを既に持っていますが、私の質問はこれです..

ドメイン以外のリファラーを検出した場合にのみページを書き換えるように htaccess を設定する方法はありますか?

また、PHP スクリプトをスローしました。リライトがルート ディレクトリの特定のページに移動したら、$_SERVER['REQUEST_URI']をスローしてどこに行こうとしていたかを取得できますか? GETクエリを使用していますか?

4

1 に答える 1

1

RewriteCond を使用するのがおそらく最も簡単です。通常、最初に Referer ヘッダーが存在するかどうかを確認してから、許可された値と比較します。ただし、アサーションを使用して圧縮することもできます。

RewriteCond %{HTTP_REFERER} ^(?!your.domain.com)(.+)$
RewriteRule ^(img/.+)$  /watermark.php?url=$1  [L]

GET パラメータが必要ない場合はurl、PATH_INFO または を使用して環境変数にし[L,E=ORIG_REQUEST_URI:$1]ます。ただし、そのような回避策は避けます。

于 2011-03-17T18:38:03.210 に答える