.htaccess拒绝来自域名

时间:2013-11-15 19:57:50

标签: apache .htaccess security dns

我正在使用以下代码尝试限制对网站的访问,但它只是不允许我从推荐域连接。

<Limit GET>
order deny,allow
deny from all
allow from studiorenegade.com
</limit>

RewriteEngine On

RewriteRule ^(_app) - [F,L]
RewriteRule ^(_config) - [F,L]
RewriteRule ^(_content) - [F,L]
RewriteRule ^(.*).yml$ - [F,L]
RewriteRule ^(.*).yaml$ - [F,L]
RewriteRule ^(.*).html$ - [F,L]
RewriteRule ^(.*/)?\.git+ - [F,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [QSA,L]

AuthType Basic  
AuthName "restricted area"  
AuthUserFile /var/www/{path to .htpassword}  
require valid-user

这一切似乎都很简单,我似乎无法正确配置允许? 谢谢!

1 个答案:

答案 0 :(得分:1)

这就像:

allow from studiorenegade.com

允许来自studiorenegade.com服务器的直接连接,而不是浏览该网站并点击链接(可能是允许来自)的人。除了使用studiorenegade.com所在的服务员之外,你基本上拒绝了所有人的访问权。

你可能想要摆脱它并改为添加:

RewriteCond %{HTTP_REFERER} !^https?://(www\.)?studiorenegade\.com [NC]
RewriteCond %{HTTP_REFERER} !^https?://hostname.of.your.server.com [NC]
RewriteRule ^ - [L,F]

RewriteEngine On行的正下方。

这将发送其引用标头字段不是来自“studiorenegade.com”的任何请求。但是,此字段可能是伪造的,并不能保证人们仍然无法从其他位置访问您的网站。