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]

注意:我已经设置了一个本地域名来执行测试。所以我以 mysite.local 而不是 localhost/mysite 的身份访问我的网站

有没有一种方法可以防止盗链,而无需在 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 回答