您的位置:首页 > 移动开发 > 微信开发

JS或PHP判断是否来自微信浏览器访问

2016-12-06 10:45 465 查看

概述:

在微信公众平台的开发过程中,有时候要求访问者是来自微信浏览器而不允许其他浏览器的,本文将介绍如何用JavaScript或者PHP处理。

准备:

一、$_SERVER数组

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些。

(PS:具体更多的$_SERVER介绍可以到以下链接:

http://php.net/manual/zh/reserved.variables.server.php)

二、获取HTTP_USER_AGENT

<?php
echo $_SERVER["HTTP_USER_AGENT"];
?>


在iPhone下,返回内容:

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X)

AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176

MicroMessenger/4.3.2

在Android下,返回内容:

Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660

Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0

Mobile Safari/533.1 MicroMessenger/4.5.255

分析:

可以看到,如果是微信浏览器,$_SERVER[“HTTP_USER_AGENT”] 返回的内容带有MicroMessenger,后面还有其版本号,所以我们判断HTTP_USER_AGENT中是否有MicroMessenger即可。除此之外,我们还能根据该变量判断手机类型为iPhone还是Android。

代码处理:

通过 JavaScript 判断:

function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}


通过 PHP 判断

function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信 php