您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php判断页面是否是微信打开的示例_PHP教程

2025/1/12 20:55:16发布21次查看
代码如下:
$user_agent = $_server['http_user_agent'];
if (strpos($user_agent, 'micromessenger') === false) {
// 非微信浏览器禁止浏览
echo http/1.1 401 unauthorized;
} else {
// 微信浏览器,允许访问
echo micromessenger;
// 获取版本号
preg_match('/.*?(micromessenger\/([0-9.]+))\s*/', $user_agent, $matches);
echo '
version:'.$matches[2];
}
好吧,我也不能直接反驳,不过,这个确实非常不靠谱、
拿数据说话吧。
下面分别是 android, winphone, iphone 的 http_user_agent 信息。
代码如下:
http_user_agent: mozilla/5.0 (linux; u; android 4.1; zh-cn; galaxy nexus build/wind-galaxy nexus-v1.2) applewebkit/534.30 (khtml, like gecko) version/4.0 mobile safari/534.30 micromessenger/5.0.1.352,
http_user_agent: mozilla/5.0 (compatible; msie 10.0; windows phone 8.0; trident/6.0; iemobile/10.0; arm; touch; nokia; nokia 920t),
http_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,
可以看到 winphone 根本就没有 micromessenger 所以无法判断、其实 useragent 判断本来就是很假的事情、所以我觉得应该用 js 判断是否存在 weixinjsbridge ,然后 ajax 给 php
php检测到了然后返回真正的页面信息、期间加一个 “玩命加载中...” 这样就很和谐了、当然 ajax 的话,也是可以欺骗的,但是相对 useragent 欺骗来说,就要麻烦一点了、
不过我们的目的是检测是否是微信端,而不是欺骗的问题、具体代码我就不写了,因为最讨厌那种拿来主义了、无限的复制黏贴,而且有时候代码被过滤了一部分也不管、
http://www.bkjia.com/phpjc/761298.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/761298.htmltecharticle代码如下: $user_agent = $_server['http_user_agent']; if (strpos($user_agent, 'micromessenger') === false) { // 非微信浏览器禁止浏览 echo http/1.1 401 unauthorized; }...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product