91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信JSAPI模式與瀏覽器類型安全訪問

發布時間:2020-07-22 20:46:42 來源:網絡 閱讀:503 作者:博文視點 欄目:移動開發

摘要: 微信瀏覽器是在微信安裝時內置在微信中的,針對瀏覽器的類型我們可以設置相應的安全策略——僅允許在微信內置瀏覽器中打開。本文選自《微信企業號開發完全自學手冊》。

1 JSAPI模式介紹

  在介紹JSAPI模式之前,首先需要介紹一下微信內置瀏覽器。可能很多人注意到了,在打開微信“朋友圈”鏈接的時候會出現進度條,如圖5.1所示,這實際上就是微信內置瀏覽器訪問頁面的進度。也就是說,“朋友圈”是通過微信內置的瀏覽器訪問的手機頁面,并且微信瀏覽器是在微信安裝時內置在微信中的。
          微信JSAPI模式與瀏覽器類型安全訪問
                    微信內置瀏覽器進度條

注意:iPhone(蘋果)和Android(安卓)的微信內置瀏覽器不同,安卓手機上的微信使用的是QQ瀏覽器X5內核,蘋果手機上的微信使用的則是Safari瀏覽器。

  JSAPI模式是通過調用微信JS-SDK開發手機Web頁面的模式,本質上亦是開發B/S(Browser/Server,瀏覽器/服務器模式)服務,只是業務上較以往的PC業務更加方便,功能上也稍具差異。在微信JSAPI模式下,不僅可以調用微信拍照、選圖、語音、位置等手機功能,還可以實現微信分享、掃一掃等微信特有的功能,同時,可以使用HTML5完成頁面效果的豐富,實現更加完美的用戶體驗。

2 瀏覽器類型安全訪問

  針對瀏覽器的類型我們可以設置相應的安全策略—僅允許在微信內置瀏覽器中打開。
  通過ServletActionContext.getRequest().getHeader("User-Agent")獲得當前瀏覽器代理信息,各類型瀏覽器代理信息如下:
(1)IE瀏覽器:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

(2)Google瀏覽器:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36

(3)360安全瀏覽器:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

(4)UC瀏覽器:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/5.7.15319.202 Safari/537.36

(5)手機QQ瀏覽器:

Mozilla/5.0 (Linux; Android 4.2.2; N1W Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.2 TBS/036558 Safari/537.36 V1_AND_SQ_6.5.0_390_YYB_D QQ/6.5.0.2835 NetType/WIFI WebP/0.3.0 Pixel/1080

(6)Android微信內置瀏覽器:

Mozilla/5.0 (Linux; Android 4.2.2; N1W Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.2 TBS/036558 Safari/537.36 MicroMessenger/6.3.23.840 NetType/WIFI Language/zh_CN

(7)iPhone微信內置瀏覽器:

Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36 MicroMessenger/6.3.24 NetType/4G Language/zh_CN

  通過對比多個瀏覽器的代理信息,可以發現一個關鍵信息“MicroMessenger”。通過“MicroMessenger”便能夠區分請求的來源,從而保證信息只能在微信中打開,示例代碼如下:

    HttpServletRequest req = ServletActionContext.getRequest();    //識別微信瀏覽器
    String userAgent=req.getHeader("User-Agent");//里面包含了設備類型
    if(-1==userAgent.indexOf("MicroMessenger")){        //如果不是微信瀏覽器,則跳轉到安全頁
        return "safePage";
    }

  JSP頁面中,防止外部瀏覽器打開方法的示例代碼如下:

<%
    //識別微信瀏覽器    String userAgent=request.getHeader("User-Agent");//里面包含了設備類型    if(-1==userAgent.indexOf("MicroMessenger")){
        //如果不是微信瀏覽器,則跳轉到安全頁        request.getRequestDispatcher("noRightPage.jsp").forward(request, response);
    }
%>

  備注:在微信中,可以通過userAgent.indexOf("iPhone")來區分是Android手機還是iPhone手機,示例代碼如下:

HttpServletRequest req = ServletActionContext.getRequest();String userAgent=req.getHeader("User-Agent");//里面包含了設備類型if(-1!=userAgent.indexOf("iPhone")){//-------如果是蘋果手機----------////此方法需要瀏覽器自己能夠打開,iOS可以,但是微信Android版內置瀏覽器不支持}else{//如果非蘋果手機,則自己處理文檔}

  本文選自《微信企業號開發完全自學手冊》,點此鏈接可在博文視點官網查看此書。
                    微信JSAPI模式與瀏覽器類型安全訪問
  想及時獲得更多精彩文章,可在微信中搜索“博文視點”或者掃描下方二維碼并關注。
                       微信JSAPI模式與瀏覽器類型安全訪問


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴彦淖尔市| 定陶县| 上思县| 兴国县| 南乐县| 抚顺市| 唐山市| 安龙县| 天台县| 凤庆县| 双城市| 黔西县| 长阳| 大余县| 开江县| 呼图壁县| 七台河市| 广昌县| 宁乡县| 澄迈县| 兰溪市| 临颍县| 周至县| 西安市| 双牌县| 布拖县| 平乐县| 肇州县| 昌吉市| 安岳县| 商河县| 石景山区| 同德县| 涪陵区| 大宁县| 泸水县| 桦南县| 台南市| 郯城县| 卓尼县| 买车|