日期:2014-05-17  浏览次数:20732 次

〓〓〓 asp+js 做网站统计中的IP获取问题!
页面一
首页加入代码default.html
<script   src= "newcount.asp "   type= "text/javascript "> </script>

newcount.asp代码如下
<%
'获取浏览器信息
Dim   TJ,O_Browser,M_BrowserType,M_DateTime,StrUserAgent,UIP,ULY,UDOMAIN,UURL,screenWidth,screenheight
Set   O_Browser=Server.Createobject( "MSWC.BrowserType ")
M_BrowserType=O_Browser.Browser+O_Browser.Version
'获得访问时间
M_DateTime=NOW()
'取得用户的操作系统
StrUserAgent=Request.ServerVariables( "HTTP_USER_AGENT ")
'获得用户的访问IP
UIP=Request.ServerVariables( "REMOTE_ADDR ")
'获得访问者来源
ULY=Request.ServerVariables( "HTTP_REFERER ")
'访问的域名
UDOMAIN=Request.ServerVariables( "server_name ")
'访问的页面地址
UURL=Request.ServerVariables( "server_name ")

TJ=M_BrowserType   &   ", "   &   M_DateTime   &   ", "   &   StrUserAgent   &   ", "   &   UIP   &   ", "   &   ULY   &   "......... "   &     UDOMAIN   &   ", "   &   UURL  
%>

//   JavaScript   Appears   here.

var   uw   =   screen.width;
var   uh   =   screen.height;
var   utitle   =     document.title;

var   TJ=   " <%=TJ%> "   +   ", "   +   uw   +   ", "   +   uh   +   ", "   +   utitle
document.write(TJ)
document.write( " <script   src=\ "http://10.0.0.1/TJ.asp?TJ= "   +   TJ   +   "\ "> </script> ");  

问题:document.write(TJ)   中获取的Request.ServerVariables( "HTTP_REFERER ")
访问者来源为首页default.html的地址

如何正确的获得来源地址????

在线等!!!!!!!!!!!!!!!!!!!!!

------解决方案--------------------
注意你的思路:

Request.ServerVariables( "HTTP_REFERER ")的工作方式

下列情况是从浏览器的地址栏正常取得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 ")值是否为空来判断当前是不是在页面中跳转,如果不是,就直接转到default.htm就行了。