【问题标题】:Allow/deny image hotlinking with .htaccess允许/拒绝使用 .htaccess 进行图像盗链
【发布时间】:2010-11-17 18:25:40
【问题描述】:

所以我在我的站点 .htaccess 文件中添加了这个,以防止来自所有其他域的图像、JS 和 CSS 的热链接。

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]

问题:我如何选择性地允许一个或两个域进行热链接?

【问题讨论】:

    标签: .htaccess mod-rewrite hotlinking


    【解决方案1】:

    Just add another condition 在您要允许的每个域的 RewriteRule 之前。

    RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC]  
    

    (大概您不关心请求是通过 http 还是 https 或其他方式,因此您可以将其省略以使其更通用)

    【讨论】:

      【解决方案2】:
      RewriteCond %{HTTP_REFERER} !^$
      RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
      RewriteCond %{HTTP_REFERER} !^http://(www\.)?otherdomain\.com [NC]
      RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]
      

      正如上面所说,会起作用。

      "Refererr 不是什么都没有,并且referer 不匹配mydomain,referer 不匹配otherdomain。

      如果你试图做相反的事情(将一组域从热链接中列入黑名单),你会做类似的事情

      RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain1\.com [NC,OR]
      RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain2\.com [NC]
      RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]
      

      【讨论】:

      • 天哪,这很容易。我自己应该意识到的!谢谢!
      • 如何动态定义主机名?
      猜你喜欢
      • 2014-09-03
      • 2012-04-14
      • 2014-10-23
      • 1970-01-01
      • 2016-10-18
      • 2011-07-02
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多