拒绝从我们自己以外的域直接访问所有.php文件

时间:2012-11-22 12:40:59

标签: apache .htaccess

我正在尝试使用htaccess拒绝从域以外的任何域直接访问所有.php文件。所以我在下面的规则中添加了php。但这是正确的方法吗?或者还有其他“正确的方法来做到这一点”

#No Hotlinking
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://mydomain\.com/.*$ [NC]
RewriteRule \.(gif|jpe?g|png|js|css|php)$ - [F]

所以:

http://www.mydomain.com/page.php -> OK. Display the page.
http://www.evildomain.com/page.php -> Deny!

1 个答案:

答案 0 :(得分:0)

这对我来说似乎很好,除非你宁愿直接在PHP页面中使用$ _SERVER ['HTTP_REFERER']检查:

<?php
if ($_SERVER['HTTP_REFERER'] != 'mydomain.com') {
header("Location: goaway.php");
}