对于微信公众平台第三方开发的屌丝程序猿们,判断访问来源是否是微信浏览器还是有必要的,对于有些必要的场合,为了安全必须严格要求微信浏览器才可以访问。
以下是相应的代码和事例:
如何判断是否是微信内置浏览器访问,首先需要获取微信内置浏览器的User Agent,经过在iPhone上微信的浏览器的检测,它的 User Agent 是:
Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1
所以通过识别 MicroMessenger 这个关键字来确定是否微信内置的浏览器访问,来阻止非法浏览器访问的限制。
1.
function
is_weixn(){
2.
var
ua = navigator.userAgent.toLowerCase();
3.
if
(ua.match(/MicroMessenger/i)==”micromessenger”) {
4.
return
true
;
5.
}
else
{
6.
return
false
;
7.
}
8.
}
1.
function
is_weixin(){
2.
if
( strpos($_SERVER[
'HTTP_USER_AGENT'
], ‘MicroMessenger’) !==
false
) {
3.
return
true
;
4.
}
5.
return
false
;
6.
}
非微信浏览器禁止访问【事例】:
01.
<!DOCTYPE html>
02.
<html xmlns=”http:
//www.w3.org/1999/xhtml”>
03.
<head>
04.
<title>非微信浏览器禁止访问-西瓜君个人博客实例</title>
05.
</head>
06.
<body>
07.
<?php
08.
$user_agent
=
$_SERVER
[
'HTTP_USER_AGENT'
];
09.
if
(
strpos
(
$user_agent
, ‘MicroMessenger’) === false){
10.
echo
“非微信浏览器禁止浏览”;
11.
}
else
{
12.
echo
“微信浏览器,允许访问”;
13.
preg_match(‘/.*?(MicroMessenger\/([0-9.]+))\s*/’,
$user_agent
,
$matches
);
14.
echo
‘
15.
你的微信版本号为:’.
$matches
[2];
16.
}
17.
?>
18.
</body>
19.
</html>
联系客服