做微信站点的开发的时候,我们有需求只允许微信来访问网页。
可行的一种方法是按照浏览器UA来判断是否是微信。
下面是我抓取到的UA:
Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI
我们可以通过MicroMessenger关键词来判断是否是微信了。
方法如下:
js方法
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;
}
useragent:
用户代理 User Agent,是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好。
在X.400电子系统中,用户代理是一种对数据打包、创造分组头,以及编址、传递消息的部件。
用户代理并不是仅指浏览器,还包括搜索引擎。
1、用户代理是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好。用户代理的能力和偏好可以认为是元数据或用户代理的硬件和软件的特性和描述;
2、SIP终端系统称为用户代理,即UA(UserAgent),含用户代理客户机UAC(UserAgentClient)和用户代理服务器UAS(UserAgentserver)两部分;
3、SIP将终端用户称为用户代理,请求方称为用户代理客户,被请求方称为用户代理服务器。UAC负责发起SIP呼叫请求,UAS接收UAC的请求并负责对其做出响应(接受、拒绝或重定向)。
为什么所有浏览器的userAgent都带Mozilla
Mozilla是Netscape的吉祥物,也是Netscape Navigator浏览器使用的内部开发代号。由于Netscape早期的影响力,直到今天,所有浏览器包括IE,向Web服务器报告自己的浏览器标识的 时候,都以 “Mozilla”开头,表明自己是Mozilla兼容的。