Url=Request.ServerVariables("HTTP_REFERER")为什么会是空的?

时间:2022-08-22 01:53:41
我在页面上引用地址:
Url=Request.ServerVariables("HTTP_REFERER")
Url怎么是空的?不是当前页的地址吗?

31 个解决方案

#1


不是吧,我的机子运行就可以的,你有没有把Url输出啊??

#2


你的机器走代理服务器了吗?
这样试试<%=request.ServerVariables("REMOTE_ADDR")%>

#3


http://www.ccopus.com/code/serverVariables.asp

#4


我试过response.write(Url),是空的
不能用REMOTE_ADDR,取不到具体路径啊!代理服务器是怎么回事?我用的局域网,但都没改过端口,是默认的!

#5


有一种情况是空的:
<a href="javascript:if(confirm('are you sure!')){window.location='delete.asp?id=<%=id%>'}">删除</a>

这时候在 delete.asp 里用 url=request.servervariables("http_referer") 得到的值就是空的

#6


不是当前页的地址吗?
看错了,不是当前页面地址,是 上一页 穿过来到地址!

#7


我在多个页面上试,都是空的,不是某个特殊的情况,我现在用request.servervariables("URL")代替,倒是可以,可这样取得只是域名以后的路径!就是这样:/sale/sale.asp
我想取http://localhost/sale/sale.asp,怎么办?

#8


还有个最大的麻烦就是:
如果我提交的是http://localhost/sale/sale_modify.asp?m_id=10这种地址
request.servervariables("URL")不能取?m_id=10这块,这样最后转到的地址就出错了?这可怎么解决啊?

#9


如果有可能你使用了网络防火墙软件造成的 http://community.csdn.net/Expert/Forum.asp 看看这里“...由于某些防火墙会把HTTP请求中的Refer参数去掉...”

#10


我的机子没有装防火墙,但我的机子是整个局域网中的一台,不知道主机有没有设,会不会有关系,但现在是refer直接为空啊,url又不能提交?m_id=10,大家是怎么解决这种地址提交问题的?

#11


Request.ServerVariables("HTTP_REFERER") 是传入页的地址

Request.ServerVariables("URL") 才是当前页的地址

#12


我实际取得是登录前的某一页,因为要求登录权限,所以在登录后转回到登录前想进入的某一页,我原来用HTTP_REFERER,这样就在登录页提交,这样对吗?但为空,我就在登录前的一页中加入ServerVariables("URL"),再用?url=传到登录页,这样取当前页对吗?但不能取地址中的?m_id=10,所以我不知道哪里错了?也不知道该怎么改?

#13


?后的值是取不到的!你可以用SESSION

#14


<%
a=request.ServerVariables("http_referer")
response.Redirect(a)%>
放在验证页面,我刚做的,但有的人说有了防火墙这一功能就不能实现,不知道有什么办法搞定?

#15


我用response.write验证过是空的

#16


为何我的是好的?可能你是电脑有问题了。

#17


不会吧!有什么特别的条件限制吗?我可以改设啊!

#18


防火墙是会导致这样的,还有一个我记得是IE设置,不过具体是什么不记得了:(

#19


Url=Request.ServerVariables("HTTP_REFERER")只能获得通过链接而来的地址;如果是直接输入地址或者通过书签(收藏夹)获得的地址都是空.

#20


TRY:
test.htm
<a href="test.asp">test.asp</a>

test.asp
<%url=Request.ServerVariables("HTTP_REFERER")
  response.write url %>

#21


Url=Request.ServerVariables("HTTP_REFERER")
只能是通过链接或提交到达此网页时才有值,值为来源网页网址;如果在地址栏输入直接打开此网页,将得不到值,因为它没有来源网页!

#22


直接输入打开此页。没有 REFERER

#23


dh20156(风之石):
我试了,这样能有值,但值为test.htm,我想返回的值为test.asp,怎么办,
如果是<a href="test.asp?id=5">test.asp</a>呢?

#24


呵呵,有高手回来了,不好意思,来晚了。

#25


Request.ServerVariables("URL") 才是当前页的地址


Request.ServerVariables("HTTP_REFERER")只能是通过链接或提交到达此网页时才有值,值为来源网页网址;如果在地址栏输入直接打开此网页,将得不到值,因为它没有来源网页!

#26


刚好这几天碰到类似的问题
呵呵通过xmlhttp可以伪造http_referer的,呵呵

#27


Request.ServerVariables("HTTP_REFERER")  我得到的值总是本网页的值。我从baidu中搜出来,显示的也是本网页的值,太奇怪了。

#28


取得当前页地址
<%
if Request.ServerVariables("QUERY_STRING")="" then
response.write "http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("SCRIPT_NAME")&Request.ServerVariables("QUERY_STRING")
else
response.write "http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("SCRIPT_NAME")&"?"&Request.ServerVariables("QUERY_STRING")
end if

%>
取得上一页地址
<%
if Request.ServerVariables("QUERY_STRING")="" then
response.write Request.ServerVariables("HTTP_REFERER")&Request.ServerVariables("QUERY_STRING")
else
response.write Request.ServerVariables("HTTP_REFERER")&"?"&Request.ServerVariables("QUERY_STRING")
end if

%>

#29


lisoon((水翡草芥--突然想去扫街)):
太感动了,你是这世界上最伟大的!
送你个kiss!

#30


分不够用了,本贴回复者需要分的我另开贴子加:
从这里吧,顺便帮我看看这个问题!
http://community.csdn.net/Expert/topic/3652/3652180.xml?temp=.2092096

#31


直接在IE地址栏中输入URL的话是得不到http_referer的。

#1


不是吧,我的机子运行就可以的,你有没有把Url输出啊??

#2


你的机器走代理服务器了吗?
这样试试<%=request.ServerVariables("REMOTE_ADDR")%>

#3


http://www.ccopus.com/code/serverVariables.asp

#4


我试过response.write(Url),是空的
不能用REMOTE_ADDR,取不到具体路径啊!代理服务器是怎么回事?我用的局域网,但都没改过端口,是默认的!

#5


有一种情况是空的:
<a href="javascript:if(confirm('are you sure!')){window.location='delete.asp?id=<%=id%>'}">删除</a>

这时候在 delete.asp 里用 url=request.servervariables("http_referer") 得到的值就是空的

#6


不是当前页的地址吗?
看错了,不是当前页面地址,是 上一页 穿过来到地址!

#7


我在多个页面上试,都是空的,不是某个特殊的情况,我现在用request.servervariables("URL")代替,倒是可以,可这样取得只是域名以后的路径!就是这样:/sale/sale.asp
我想取http://localhost/sale/sale.asp,怎么办?

#8


还有个最大的麻烦就是:
如果我提交的是http://localhost/sale/sale_modify.asp?m_id=10这种地址
request.servervariables("URL")不能取?m_id=10这块,这样最后转到的地址就出错了?这可怎么解决啊?

#9


如果有可能你使用了网络防火墙软件造成的 http://community.csdn.net/Expert/Forum.asp 看看这里“...由于某些防火墙会把HTTP请求中的Refer参数去掉...”

#10


我的机子没有装防火墙,但我的机子是整个局域网中的一台,不知道主机有没有设,会不会有关系,但现在是refer直接为空啊,url又不能提交?m_id=10,大家是怎么解决这种地址提交问题的?

#11


Request.ServerVariables("HTTP_REFERER") 是传入页的地址

Request.ServerVariables("URL") 才是当前页的地址

#12


我实际取得是登录前的某一页,因为要求登录权限,所以在登录后转回到登录前想进入的某一页,我原来用HTTP_REFERER,这样就在登录页提交,这样对吗?但为空,我就在登录前的一页中加入ServerVariables("URL"),再用?url=传到登录页,这样取当前页对吗?但不能取地址中的?m_id=10,所以我不知道哪里错了?也不知道该怎么改?

#13


?后的值是取不到的!你可以用SESSION

#14


<%
a=request.ServerVariables("http_referer")
response.Redirect(a)%>
放在验证页面,我刚做的,但有的人说有了防火墙这一功能就不能实现,不知道有什么办法搞定?

#15


我用response.write验证过是空的

#16


为何我的是好的?可能你是电脑有问题了。

#17


不会吧!有什么特别的条件限制吗?我可以改设啊!

#18


防火墙是会导致这样的,还有一个我记得是IE设置,不过具体是什么不记得了:(

#19


Url=Request.ServerVariables("HTTP_REFERER")只能获得通过链接而来的地址;如果是直接输入地址或者通过书签(收藏夹)获得的地址都是空.

#20


TRY:
test.htm
<a href="test.asp">test.asp</a>

test.asp
<%url=Request.ServerVariables("HTTP_REFERER")
  response.write url %>

#21


Url=Request.ServerVariables("HTTP_REFERER")
只能是通过链接或提交到达此网页时才有值,值为来源网页网址;如果在地址栏输入直接打开此网页,将得不到值,因为它没有来源网页!

#22


直接输入打开此页。没有 REFERER

#23


dh20156(风之石):
我试了,这样能有值,但值为test.htm,我想返回的值为test.asp,怎么办,
如果是<a href="test.asp?id=5">test.asp</a>呢?

#24


呵呵,有高手回来了,不好意思,来晚了。

#25


Request.ServerVariables("URL") 才是当前页的地址


Request.ServerVariables("HTTP_REFERER")只能是通过链接或提交到达此网页时才有值,值为来源网页网址;如果在地址栏输入直接打开此网页,将得不到值,因为它没有来源网页!

#26


刚好这几天碰到类似的问题
呵呵通过xmlhttp可以伪造http_referer的,呵呵

#27


Request.ServerVariables("HTTP_REFERER")  我得到的值总是本网页的值。我从baidu中搜出来,显示的也是本网页的值,太奇怪了。

#28


取得当前页地址
<%
if Request.ServerVariables("QUERY_STRING")="" then
response.write "http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("SCRIPT_NAME")&Request.ServerVariables("QUERY_STRING")
else
response.write "http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("SCRIPT_NAME")&"?"&Request.ServerVariables("QUERY_STRING")
end if

%>
取得上一页地址
<%
if Request.ServerVariables("QUERY_STRING")="" then
response.write Request.ServerVariables("HTTP_REFERER")&Request.ServerVariables("QUERY_STRING")
else
response.write Request.ServerVariables("HTTP_REFERER")&"?"&Request.ServerVariables("QUERY_STRING")
end if

%>

#29


lisoon((水翡草芥--突然想去扫街)):
太感动了,你是这世界上最伟大的!
送你个kiss!

#30


分不够用了,本贴回复者需要分的我另开贴子加:
从这里吧,顺便帮我看看这个问题!
http://community.csdn.net/Expert/topic/3652/3652180.xml?temp=.2092096

#31


直接在IE地址栏中输入URL的话是得不到http_referer的。