下面是我很久以前用的方法,简单的判断一下浏览器提交的refer里面的uri的host内容,如果与自身主机名不匹配,则直接断掉连接,但是考虑到有时候是弹出式链接,这样的请求是没有refer的,所以这个也应当视为合法请求。

不过下面的例子并没有读取文件并且发送的语句,这个都很简单了,应该都会,就不详细测试了,只列出判断主机头的代码:

if Cstr(Request.ServerVariables("HTTP_REFERER"))<>"" then
if instr(Cstr(Request.ServerVariables("HTTP_REFERER")),Cstr(Request.ServerVariables("HTTP_HOST")))=0 then
response.end
end if
end if

不过这个事情需要考量的情况有很多,比如主机名大小写问题,应该做个转换的,这些细节就自己动手吧。

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注