对于微信公众平台第三方开发的屌丝程序猿们,判断访问来源是否是微信浏览器还是有必要的,对于有些必要的场合,为了安全必须严格要求微信浏览器才可以访问。 以下是相应的代码和事例: 如何判断是否是微信内置浏览器访问,首先需要获取微信内置浏览器的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> |
|