您的位置:首页 > 编程语言 > ASP

根据不同IP地址显示不同网页的代码asp版、php版

2012-06-22 12:18 946 查看
同一个域名 但是根据本机IP不同 显示的网页也不同 这样的代码

即:上海的用户访问,就现实A网页。北京的用户访问就显示B网页。武汉的用户就显示C网页是这个意思吗?
首先,你需要一个最新最详细的IP地址数据库,配合ASP或者PHP简单代码就可以获取客户端的IP地址,然后根据你IP数据库,进行跳转!口碑网就是这样实现的!
<%
dim ip : ip = cip(getip())
if checkip(ip,cip(“58.241.58.0″),cip(“58.241.58.255″)) or checkip(ip,cip(“58.66.231.0″),cip(“58.6.231.255″)) then
Response.Redirect(“1.asp”)
elseif checkip(ip,cip(“58.33.231.0″),cip(“58.33.231.255″)) or checkip(ip,cip(“58.33.22.0″),cip(“58.33.22.255″)) then
Response.Redirect(“2.asp”)
else
Response.Redirect(“3.asp”)
end if
%>

<%
Function GetIP()
Dim x : x = Request.ServerVariables(“HTTP_X_FORWARDED_FOR”)
Dim y : y = Request.ServerVariables(“REMOTE_ADDR”)
Dim addr : addr = IIF(isN(x) or lCase(x)=”unknown”,y,x)
If InStr(addr,”.”)=0 Then addr = “0.0.0.0″
GetIP = addr
End Function

Function cip(sip)
dim tip : tip=split(sip,”.”)
cip=clng(tip(0))*256*256*256+clng(tip(1))*256*256+clng(tip(2))*256+clng(tip(3))
End Function

Function IIF(ByVal Cn, ByVal T, ByVal F)
If Cn Then IIF = T Else IIF = F End If
End Function

Function isN(ByVal str)
isN = False
If IsArray(str) Then Exit Function
If str = “” or IsEmpty(str) or IsNull(str) Then isN = True
End Function

Function checkip(vip,onip,offip)
checkip=false
if vip>onip and vip<offip then checkip=true
End Function
%>

网络营销、网络推广,推荐 贾思军网络营销顾问

<?php
//第一步:透过代理获取用户真实的IP地址
$theip=getip();
function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv(“HTTP_X_FORWARDED_FOR”)){
$realip = getenv(“HTTP_X_FORWARDED_FOR”);
} else if (getenv(“HTTP_CLIENT_IP”)) {
$realip = getenv(“HTTP_CLIENT_IP”);
} else {
$realip = getenv(“REMOTE_ADDR”);
}
}

return $realip;
}
//第二步:通过读取IP地址库,找到所属地区
//假设表名为ip,字段有begin(起始),end(结束),area(地区代号)

$dblink=@mysql_connect(“数据库服务器名”,”数据库用户名”,”数据库密码”);
$dbselect=@mysql_select_db(数据库名);
if (!$dbselect){
die(“数据库无法读取”);
}
$result=mysql_query(“select * from `ip` where `begin`<=`$theip` and `end`>=`$theip`”);
$num=mysql_num_rows($result);

if($num>0){
$info=mysql_fetch_array($result);
$page=$info['area'];
else{
$page=’default’; //如果IP不在数据库中,则用缺省的页面
}
//第三步:转到相关页面,如代号为”js”,转到”js.php”页面
$page.=’.html’; //后缀你可以自己取
echo “<script language=\”javascript\”>window.location.replace(\”$page\”)</script>”;
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php asp 网页