用JS实现根据IP来源分配访问地址或域名

来源:百度文库 编辑:神马文学网 时间:2024/04/30 17:09:34
输入您的搜索字词 提交搜索表单
因为交换机的缘故,内网(办公室)用户使用域名访问网站,在IIS的日志中记录的是10.10.1.1(因为绕了一个圈子从内网到外网再到服务器,经过了防火墙).上次就是出了这样的事故,无法追踪访客信息.
现在的方案是:内网用户访问时,不允许使用公网IP或者域名访问,必须使用内网的ip(10.10.3.3)访问服务器。而非内网用户则通过公网IP和域名访问网站。这样IIS日志所记录的信息全部真实
网上好多关于JS获取IP,获取URL的文章.都说需要装控件,需要客户端使用较低的安全策略,而ASP/PHP/JSP就不用那么麻烦,可以轻松实现.而这次改版的网站是全静态生成页面,格式是shtml,里面不能放ASP程序.必须靠JS来调用.
找了一下午资料,也没如意,后来突然想起前几天做的旺阁的新闻调用,就直接调用的ASP文件,也不用非要是JS文件啊,

那么这样做以后,就不用麻烦去写ip.js文件,而就只需要写IP.ASP就可以了,用 document.write("..");输入就对了哦。
ASP CODE:
程序代码
‘--内网用户重定向------------------
ip =  Request.ServerVariables("REMOTE_ADDR")
if (left(ip,5)="10.10") and Request.ServerVariables("HTTP_HOST")<>"10.10.3.3" then
response.Redirect("http://10.10.3.3/")
end if
‘----------------------------------
JS输出:
程序代码
<% ip =  Request.ServerVariables("REMOTE_ADDR")
if (left(ip,5)="10.10") and Request.ServerVariables("HTTP_HOST")<>"10.10.3.3" then
%>
document.write("");
<% end if %>
再结合西方亮的404智能跳转JS,就可以完美实现内网的访问用户地址控制了.。
程序代码
<% ip =  Request.ServerVariables("REMOTE_ADDR")
if (left(ip,5)="10.10") and Request.ServerVariables("HTTP_HOST")<>"10.10.3.3" then
%>
document.write("
var newdomain=‘10.10.3.3‘;                //内外用户访问地址
var stoptime=0;                                //页面停留时间,以秒为单位
var My_Url=document.location.href;
godomain();
function godomain()
{
var str=My_Url;
stag=str.indexOf(‘//‘)+1;
str=str.substring(stag+1,str.length)
stag=str.indexOf(‘/‘);
rstr=str.substring(0,stag);
olddomain=rstr;
My_Url=My_Url.replace(olddomain,newdomain);
setTimeout(‘gourl()‘,stoptime*1000);
}
function gourl()
{window.location=My_Url;}
");
<% end if %>
汗,不知道哪儿出了问题,直接在document.write里面写js内容,居然不行,又试了好几个小时,换写SRC的路径就对了.
-------------------------------------------------------------------------------------------------
1:文件:ip.asp
程序代码
<% ip =  Request.ServerVariables("REMOTE_ADDR")
if (left(ip,5)="10.10") and Request.ServerVariables("HTTP_HOST")<>"10.10.3.3" then
%>
document.write("");
<% end if %>
2.文件ip.js
程序代码
var newdomain=‘10.10.3.3‘;                //内外用户访问地址
var stoptime=0;                                //页面停留时间,以秒为单位
var My_Url=document.location.href;
godomain();
function godomain()
{
var str=My_Url;
stag=str.indexOf(‘//‘)+1;
str=str.substring(stag+1,str.length)
stag=str.indexOf(‘/‘);
rstr=str.substring(0,stag);
olddomain=rstr;
My_Url=My_Url.replace(olddomain,newdomain);
setTimeout(‘gourl()‘,stoptime*1000);
}
function gourl()
{window.location=My_Url;}
文件3:top.shtml
程序代码