您当前的位置: 首页 > 网站编程 > ASP教程 > Http_Referer,Server_Name和Http_Host

Http_Referer,Server_Name和Http_Host

作者:guanchaofeng 来源:不详 发布时间: 2009-04-13 21:07 点击:
刚才运行了一段代码,来查看Request.ServerVariables里面有多少值,看了一下,共50个! 代码%=Request.ServerVariables.count% 以前感觉Request.ServerVariables里的值很多,现在看看还是那么多,不过今天谈其中的一个值----HTTP_Referer 首先,我们先知道HT

Http_Referer,Server_Name和Http_Host

  刚才运行了一段代码,来查看Request.ServerVariables里面有多少值,看了一下,共50个!
  
  代码<%=Request.ServerVariables.count%>
  
  以前感觉Request.ServerVariables里的值很多,现在看看还是那么多,不过今天谈其中的一个值----HTTP_Referer
  
  首先,我们先知道HTTP_Referer最常用的应用就是能够防止外部提交。
  
  下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER"):
  
  1) 直接用<a href="">
  
  2) 用Submit或<input type="image">提交的表单(POST或GET)
  
  3) 使用javascript提交的表单(POST或GET)
  
  下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
  
  1) 从收藏夹链接
  
  2) 单击主页或自定义的地址
  
  3) 在浏览器中直接输地址
  
  4) 使用javascript的Location.href或者是Location.replace()
  
  5) <%Response.Redirect%>
  
  6) <%Response.AddHeader%>或者是<mete http-equiv="refresh">转向
  
  7) 用XML加载地址
  
  显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的。关于它的具体用法我会在以后的文章中详细的介绍,同时还会介绍Request.ServerVariables("HTTP_HOST")Request.ServerVariables("SERVER_NAME")之间的区别。
  
  敬请关注!
  
  Request.ServerVariables里Server_Name与Http_Host之间有什么区别呢?
  
  如果不仔细看,您应该看不出它们之间的区别。在网上搜了很多,还是也没有看懂,不过最后还是有一句话很是明白:Http_Host可以Request出非80的Server_Port,简单地说就是,Http_Host=Server_Name:Server_Port。
  
  在以前发表过关于Http_Referer作用的文章,现在结合它来写一个ASP防止外部提交的函数
  
  function ChkPost()
  
  dim server_v1,server_v2
  
  chkpost=false
  
  server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
  
  server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
  
  If Mid(server_v1,8,Len(server_v2))<>server_v2 then
  
  chkpost=False
  
  else
  
  chkpost=True
  
  end If
  
  end function

分享到:
本文"Http_Referer,Server_Name和Http_Host"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4