防止外部提交表单

<%

server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))//获取地址栏中的地址,并将它赋给server_v1

server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))//获取url中的域名信息,赋给server_v2


if mid(server_v1,8,len(server_v2))<>server_v2 then 或者用 if Instr(server_v1, "show_index")=0 then//就是地址没有show_index的时候
     response.write "<script>alert('警告!你正在从外部提交数据!!请立即终止!!\n你的IP已经被记录,如果再次来');</script>"

QQ:9231333

Response.Redirect "http://www.yy66.net
"
end if

%>

注:
1.判断链接的地址是否就是自己服务器的,如果不是,说明是盗链的,这样就可以简单地实现防盗链。

2.Mid(server_v1,8,Len(server_v2))中为什么是8:
a.Request.ServerVariables("HTTP_REFERER")返回的地址中包括[http://]的开头,(返回调用这个asp页面的是哪一个页面,即看这个页面是被哪个页面所调用的,也就是说:
有a.asp和b.asp两个页面,在a.asp中点击链接到b.asp,或是a.asp中用表单提交数据到b.asp,或是用脚本跳转到b.asp, 那么在b.asp中用request.servervariables("HTTP_REFERER")方法取得的字符串就是a.asp的URL路径。)
b.而Request.ServerVariables("SERVER_NAME")只是返回服务器名称,不包括[http://],后面也没有文件的路径+文件名。
[http://]就正好7个字符了。所以从第8个字符开始,读取Request.ServerVariables("SERVER_NAME")那么长的字符来比较。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值