乌龙

May 14th, 2009 | by vvoody |

上周末发了篇博文,希望有朋友能看到并帮我测试一下。结果至今无一个留言 :( 今天越发不对劲了,从别的超链接到我这个网站统统显示403,被禁止访问!而通过手工在浏览器的地址栏输入一摸一样的地址却能正常访问。。。我把这个疑问发到了twitter上,很快 @rainux 提醒我是不是限制了HTTP_REFERER。我立马登录空间,查看.htaccess的内容,确实有两条HTTP_REFERER的规则在里面。不过我对这个HTTP_REFERER很陌生,为了确定是否是它引起的,我先后把我自己添加的规则和HTTP_REFERER注释掉。结果正如 @rainux 所说。

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?vvoody.org/?.*$ [NC]
RewriteRule \.*$ - [F,NC]

G了一下,明白了HTTP_REFERER干嘛的。上面的两条规则意思是HTTP_REFERER不为空或者不是从vvoody.org链接来的统统禁止访问。因为从浏览器输入地址时HTTP_REFERER为空,因此不会被禁止访问。

唉,这个乌龙好啊!

参考:
http://ted.is-programmer.com/posts/4460.html
http://zh.wikipedia.org/wiki/HTTP_referrer
http://www.fwolf.com/blog/post/320

Post a Comment