asp高手帮忙看一下这段代码

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:16:09
下面是一个表单处理页面,从前一页传递过来,用response.write(request.servervariables("HTTP_REFERER"))输出时能正确输出地址,加上下面这段if dz="" then后却关闭网页,去掉这段,后面的网页重定向又将最后的网页名弄(如http://www.***.***/jack.asp)掉了,只有域名(http://www.***.***/),不知是啥原因,希望哪位高手帮忙指点指点:不胜感激!
var dz=request.servervariables("HTTP_REFERER")
if dz="" then
response.Write("<script language='javascript'>window.opener=null;window.close();</script>")
response.End()
end if

if request.Form("code")<>session("getcode") then
response.Write("<script language='javascript'>alert('验证码不正确!');history.back();</script>")
response.End()
end if

set rs=server.CreateObject("adodb.recordset")
sql="select * from w_ly"
rs.open sql,co

下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER")的:
1.直接用<a href>
2.用Submit或<input type=image>提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)

下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
1.从收藏夹链接
2.单击'主页'或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.<%Response.Redirect%>
6.<%Response.AddHeader%>或<meta http-equiv=refresh>转向
7.用XML加载地址

显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的,下面我们看一个例子:
ref.asp
<%
response.write "You came from: " & request.servervariables("http_referer")
%>

ref.htm
<%
Response.AddHeader "Refresh", "10;URL=ref.asp"
%>

<meta http-equiv='refresh' content='10;URL=ref.asp'>

<form method=GE