使用hotlink预防

时间:2012-02-23 06:27:00

标签: .htaccess mod-rewrite hotlinking

我想知道如何在以下代码中定位图片:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://dooomain.com/.*$     [NC]
RewriteCond %{HTTP_REFERER} !^http://www.dooomain.com/.*$ [NC]
RewriteRule .*.jpg$ -                           [L]

不确定我在哪里插入jpg文件!!它是在Web根文件夹中还是在哪里?

由于

更新#1

好吧,也许我在答案中找到了一些东西,但不确定如果我错了请大家纠正我......

这是我应该添加的代码,而不是我主帖中的最后一行:

RewriteRule \.(gif|jpg)$ https://www.mydooomain.com/pic.gif [R,L]

我需要在这种情况下将图片放在根目录中,是吗???

由于

2 个答案:

答案 0 :(得分:4)

上面的最后一条规则很好。但rewritecond可以在一行中完成。

RewriteCond %{HTTP_REFERER} !^(?:$|http://domain.com|http://www.domain.com) [NC]
RewriteRule \.(gif|jpg)$ https://www.mydomain.com/pic.gif [R,L]

答案 1 :(得分:0)

我正在努力解决同样的问题。 如果我基于引用设置Apache规则很容易通过: http://www.mustap.com/phpzone_post_62_how-to-bypass-the-referer-se 当然,这不是正确的选择。

我的Apache conf文件:

<Directory /var/www/path>
    Order allow,deny
    Deny from all
    Options -Indexes
    # Check against the referer, first level check
    SetEnvIf Referer domain1\.com domain1
    SetEnvIf Referer domain1\.com domain2
    <FilesMatch \.(jpg|jpeg|gif|png)$>
        Order deny,allow
        Deny from all
        Allow from env=domain1
        Allow from env=domain2
    </FilesMatch>
</Directory>

基本上所有文件都被阻止,但图像除外,但创建一个简单的PHP文件我绕过了引用检查。 想法?