侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

php 来访国内外IP判断代码并实现页面跳转

2023-12-08 星期五 / 0 评论 / 0 点赞 / 24 阅读 / 2269 字

我大概构思了一下,有两个方案:1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站;如果是非中文系统,默认使用者非中国人,跳英文网站。优点:判断反映速度快。 缺点:不准确,有

我大概构思了一下,有两个方案:

1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站;

如果是非中文系统,默认使用者非中国人,跳英文网站。

优点:判断反映速度快。
缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况。

代码

<script type="text/javascript" language="javascript"> var Browser_Agent=navigator.userAgent; //浏览器为ie的情况 if(Browser_Agent.indexOf("MSIE")!=-1){ var a=navigator.browserLanguage; if(a !="zh-cn"){ location.href="英文网站"; } } //浏览器非ie的情况 else{ var b=navigator.language; if(b!="zh-CN"){ location.href="英文网站"; } } </script>

2.使用IP库来进行来访IP的判断

优点:判断准确。
缺点:响应速度没Javascript快。
需要引用一个PHP的IP库 ip_php.zip
我在网站头部引用jquery进行判断

<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> <script type="text/javascript" language="javascript"> function initurl() { $.ajax({ type:"GET", url:"checkip.php", dataType:"html", data:"&time="+new Date(), cache: false, async: false, beforeSend:function(XMLHttpRequest) { }, success:function(msg) { //如果返回值为1表示访问者为中国地区的ip if(msg == 1){ //alert('I am China ip'); } else { //alert('I am not China ip'); location.href="英文网站"; } }, complete:function(XMLHttpRequest,textStatus) { }, error:function() { } }); } </script> <body onload="initurl()"> ... </body> 

checkip.php页面的代码:

$userip=$_SERVER['REMOTE_ADDR']; //引用ip库的文件 把ip.zip里的全部文件放在lib目录下 include_once('/lib/iplimit.class.php'); $iplimit = new iplimit; if($iplimit->setup($userip)) { echo 1; } else { echo 2; } 

两种方法都可以完美实现判断来访IP,选择哪种就看你的具体需求了。

广告 广告

评论区