码迷,mamicode.com
首页 > 移动开发 > 详细

php判断页面是电脑登录还是手机登录

时间:2014-07-10 10:46:36      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   使用   

首先说最根本的解决方法:
手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息,那么如果能取得手机号码,则可以肯定是通过手机wap访问的。但是目前 中国移动已经屏蔽了user-agent信息,所以获取不到手机号码。有关系的朋友可以联系移动公司,把wap网站服务器的ip提交给中国移动,加入白名 单后即可取得ua信息。目前中国联通可以直接取到手机号,对联通用户此方案可完美实施。
接下来说我的解决方案:
手机访问,原理是手机通过移动公司的代理服务器进行的访问。那么我们就可以理解是一台普通电脑使用了代理服务器。当手机通过代理服务器访问的时候,http头信息会毫无疑问的包含一个信息:via。这个信息提供了有价值的判断信息。
例如河南移动取得的via信息是:
http/1.1 hazz-b-gw001-wap(infox-wisg, huawei technologies)
河南联通的via信息是:
zxwap gateway,zte technologies
其他各省的http头信息和这个大同小异,判断是否手机访问的方案就出来了:获取http的via信息字符串看是否包含wap字符,如果有则是通过手机访 问。这样做的结果是没有人能伪造手机访问,判断绝对准确。

自然,这样对于网上流行的手机wap模拟器也做了屏蔽----从根本上屏蔽。

class wap{
    function check_wap() {
    return stristr($_SERVER[‘HTTP_USER_AGENT‘],"App") ? true : false;
    }
}
// check over

$wapjq=new wap;
$wapjqs=$wapjq->check_wap();
if($wapjqs=‘true‘){
    header("Location: http://www.junqing.com/wap.php"); 
}
else{
    header(‘Location:install/index.php‘);
    exit();
}

也可以判断手机型号,不同的手机使用不同的浏览样式

 

$theusagt = $_SERVER["HTTP_USER_AGENT"];
    $is_mobile = false;
    if(stripos($theusagt , "iPhone") !== false || stripos($theusagt , "iPod") !== false){
        //$thetargetsite = $siteurl_mobile;
        $is_mobile = true;
    }
    else if(stripos($theusagt , "Mac OS") !== false){
        //$thetargetsite = $siteurl_pc;
        $is_mobile = false;
    }
    else if(stripos($theusagt , "Mobile") !== false){
        //$thetargetsite = $siteurl_mobile;
        $is_mobile = true;
    }
    else if(stripos($theusagt , "Android") !== false){
        //$thetargetsite = $siteurl_pc;
        $is_mobile = false;
    }
    else if(stripos($theusagt , "Windows Phone") !== false){
        //$thetargetsite = $siteurl_mobile;
        $is_mobile = true;
    }
    else {
        //$thetargetsite = $siteurl_pc;
        $is_mobile = false;
    }

 

 

 

 

class wap{
    function check_wap() {
    return stristr($_SERVER[‘HTTP_USER_AGENT‘],"App") ? true : false;
    }
}
// check over

$wapjq=new wap;
$wapjqs=$wapjq->check_wap();
if($wapjqs=‘true‘){
    header("Location: http://www.junqing.com/wap.php");
}
else{
if(!file_exists(dirname(__FILE__).‘/data/common.inc.php‘))
{
    header(‘Location:install/index.php‘);
    exit();
}

php判断页面是电脑登录还是手机登录,布布扣,bubuko.com

php判断页面是电脑登录还是手机登录

标签:android   style   blog   http   color   使用   

原文地址:http://www.cnblogs.com/chen-lhx/p/3812308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!