分享

如何用php或jquery判断是否是微信内置浏览器访问

 看见就非常 2015-10-21

对于微信公众平台第三方开发的屌丝程序猿们,判断访问来源是否是微信浏览器还是有必要的,对于有些必要的场合,为了安全必须严格要求微信浏览器才可以访问

以下是相应的代码和事例:

如何判断是否是微信内置浏览器访问首先需要获取微信内置浏览器的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.通过JavaScript判断是否微信内置的浏览器访问

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.}

2.通过PHP判断是否微信内置的浏览器访问

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>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多