php判断页面访问是移动端还是pc端

在使用浏览器发起的 HTTP 请求中,通常会包含一个识别标识。它名为 User Agent,简称 UA。它是一串包含了客户端基础信息的字符串。通过它可以方便的获取客户端的操作系统,语言,浏览器和版本信息。

1、获取UA标识

echo $_SERVER['HTTP_USER_AGENT'];

  结果:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

  根据得到的字符串匹配出访问方式 但是手机系统很多种 

2、封装方法进行判断

if (!function_exists("isMobile")) {
    function isMobile()
    {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];
        $mobile_agents = array ('iphone','android','phone','mobile','wap','netfront','java','opera mobi',
            'opera mini','ucweb','windows ce','symbian','series','webos','sony','blackberry','dopod',
            'nokia','samsung','palmsource','xda','pieplus','meizu','midp','cldc','motorola','foma',
            'docomo','up.browser','up.link','blazer','helio','hosin','huawei','novarra','coolpad',
            'techfaith','alcatel','amoi','ktouch','nexian','ericsson','philips','sagem','wellcom',
            'bunjalloo','maui','smartphone','iemobile','spice','bird','zte-','longcos','pantech',
            'gionee','portalmmm','jig browser','hiptop','benq','haier','^lct','320x320','240x320',
            '176x220','windows phone','cect','compal','ctl','lg','nec','tcl','daxian','dbtel','eastcom',
            'konka','kejian','lenovo','mot','soutec','sgh','sed','capitel','panasonic','sonyericsson',
            'sharp','panda','zte','acer','acoon','acs-','abacho','ahong','airness','anywhereyougo.com',
            'applewebkit/525','applewebkit/532','asus','audio','au-mic','avantogo','becker','bilbo',
            'bleu','cdm-','danger','elaine','eric','etouch','fly ','fly_','fly-','go.web','goodaccess',
            'gradiente','grundig','hedy','hitachi','htc','hutchison','inno','ipad','ipaq','ipod',
            'jbrowser','kddi','kgt','kwc','lg ','lg2','lg3','lg4','lg5','lg7','lg8','lg9','lg-','lge-',
            'lge9','maemo','mercator','meridian','micromax','mini','mitsu','mmm','mmp','mobi','mot-',
            'moto','nec-','newgen','nf-browser','nintendo','nitro','nook','obigo','palm','pg-',
            'playstation','pocket','pt-','qc-','qtek','rover','sama','samu','sanyo','sch-','scooter',
            'sec-','sendo','sgh-','siemens','sie-','softbank','sprint','spv','tablet','talkabout',
            'tcl-','teleca','telit','tianyu','tim-','toshiba','tsm','utec','utstar','verykool','virgin',
            'vk-','voda','voxtel','vx','wellco','wig browser','wii','wireless','xde','pad','gt-p1000');
        $ismobile = false;
        foreach ($mobile_agents as $device) {
            if (stristr($user_agent, $device)) {
                $ismobile = true;
                break;
            }
        }
        return $ismobile;
    }
}

 这样直接判断方法的返回值就可以直接判断是pc还是移动

转载于:https://www.cnblogs.com/yaradish/p/10479726.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要限制电脑PC访问web页面,只能手机才能访问,可以通过以下几种方法实现。 第一种方法是使用用户代理(User Agent)来识别设备类型。每个浏览器在请求服务器时都会发送一个User Agent头信息,其中包含了浏览器的信息。通过检查User Agent头中的关键词,如"Windows"、"Mac"等,可以确定请求是否来自PC或手机。通过服务器的编程语言,比如PHP,可以根据User Agent头信息进行判断并返回不同的内容或重定向。 第二种方法是通过检查请求的来源IP地址来区分设备类型。可以编写服务器代码,判断请求的来源IP地址是否为PC或手机的IP地址段。如果是从PC发起的请求,则返回访问拒绝的响应页面;如果是手机,则正常返回页面内容。 第三种方法是通过验证码来限制PC访问。在网站的登录页面访问页面中加入验证码功能,当用户从PC访问时,需要输入验证码才能继续访问。而在手机访问时,可以免除验证码的验证。这样便能限制PC访问,只允许手机访问。 以上三种方法可以单独使用,也可以结合使用,根据需求和实际情况选择适合的方法。需要注意的是,这些方法只是对请求进行识别和拦截,无法完全阻止PC访问。如果存在黑客或高级用户,他们可能会绕过这些限制。因此,确保网站的安全性还需要进一步加强其他安全措施,如身份验证和访问权限管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值