2

ドメイン名をハードコーディングせずに、自分のサイトのリソースへのホットリンクを防止する方法を知りたいです。

ソフトウェアは複数のドメインで使用され、インストールとして使用される可能性があるため、これが必要です。現在のドメインに入るために htaccess ファイルを変更するようにすべてのユーザーに指示することは現実的ではありません。

これに似た多くのコードに出くわしました。ご覧のとおり、ドメイン名を入力する必要があります。

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !www.example.com [NC]
RewriteRule \.(gif|jpg|png)$ - [F,NC]

また、このApacheページから以下のスニペットに出くわしました。これで問題が解決したようです。しかし、何らかの理由でそれを機能させることができません。

RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
RewriteRule ^/images - [F]

注: テストを実行するために、ローカル ドメイン名を設定しました。そのため、localhost/mysite ではなく mysite.local としてサイトにアクセスします

htaccess にドメイン名をハードコーディングせずにホットリンクを防止する方法はありますか?

4

1 に答える 1

0

2.2 のドキュメントを見ると、実際には 2.4 よりもはるかにシンプルになっていると思います。ただし、確認のためにテストします。

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST} [NC]
RewriteRule ^/images - [F]
于 2012-03-25T07:01:06.927 に答える