2012-10-30 42 views
0

我在我的htaccess文件中使用此代码只允许从我们选择的域中引用的用户访问我们的网站。但是,有没有办法让我们域名的用户访问该网站? (但阻止所有其他引荐?)如何让直接访问我的网站

RewriteEngine On 
RewriteCond %{HTTP_REFERER} !^http://the-ok-domain.com [NC] 
RewriteCond %{HTTP_REFERER} !^http://your-domain.com [NC] 
RewriteRule^http://the-website-of-your-choosing.com/ [L,R] 
+4

这个策略实际上是有缺陷的。 HTTP_REFERER由浏览器提供,因此不可靠。它不应该用于像“只允许某些人”那样重要的事情。 – Jasper

回答

1

但是,有没有办法,我们可以让人们在我们的域类型,访问该站点呢? (但阻止所有其他引荐?)

添加一个空白进行了检测:

RewriteEngine On 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://the-ok-domain.com [NC] 
RewriteCond %{HTTP_REFERER} !^http://your-domain.com [NC] 
RewriteRule^http://the-website-of-your-choosing.com/ [L,R] 

还要注意,查阅情况可以容易被伪造,所以没有保证,这将是在阻止人们联效果到您的网站。

+0

谢谢!这对我们的需求是完美的! – user1446650

+0

另外,我可以添加额外的推荐人网域吗?就像这样: 'RewriteEngine叙述在 的RewriteCond%{HTTP_REFERER}^$ 的RewriteCond%{HTTP_REFERER}^HTTP:!!!//the-ok-domain.com [NC] 的RewriteCond%{HTTP_REFERER}^HTTP: //yahoo.com [NC] RewriteCond%{HTTP_REFERER}!^ http://gmail.com [NC] RewriteCond%{HTTP_REFERER}!^ http://your-domain.com [NC] RewriteRule^http ://the-website-of-your-choosing.com/ [L,R]' – user1446650

+0

@ user1446650是的,他们都是*和*在一起,所以你可以添加尽可能多的,你需要 –

相关问题