摘要: 微信瀏覽器是在微信安裝時內(nèi)置在微信中的,針對瀏覽器的類型我們可以設(shè)置相應(yīng)的安全策略——僅允許在微信內(nèi)置瀏覽器中打開。本文選自《微信企業(yè)號開發(fā)完全自學(xué)手冊》。
阿魯科爾沁ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!在介紹JSAPI模式之前,首先需要介紹一下微信內(nèi)置瀏覽器??赡芎芏嗳俗⒁獾搅?,在打開微信“朋友圈”鏈接的時候會出現(xiàn)進度條,如圖5.1所示,這實際上就是微信內(nèi)置瀏覽器訪問頁面的進度。也就是說,“朋友圈”是通過微信內(nèi)置的瀏覽器訪問的手機頁面,并且微信瀏覽器是在微信安裝時內(nèi)置在微信中的。
微信內(nèi)置瀏覽器進度條
注意:iPhone(蘋果)和Android(安卓)的微信內(nèi)置瀏覽器不同,安卓手機上的微信使用的是QQ瀏覽器X5內(nèi)核,蘋果手機上的微信使用的則是Safari瀏覽器。
JSAPI模式是通過調(diào)用微信JS-SDK開發(fā)手機Web頁面的模式,本質(zhì)上亦是開發(fā)B/S(Browser/Server,瀏覽器/服務(wù)器模式)服務(wù),只是業(yè)務(wù)上較以往的PC業(yè)務(wù)更加方便,功能上也稍具差異。在微信JSAPI模式下,不僅可以調(diào)用微信拍照、選圖、語音、位置等手機功能,還可以實現(xiàn)微信分享、掃一掃等微信特有的功能,同時,可以使用HTML5完成頁面效果的豐富,實現(xiàn)更加完美的用戶體驗。
針對瀏覽器的類型我們可以設(shè)置相應(yīng)的安全策略—僅允許在微信內(nèi)置瀏覽器中打開。
通過ServletActionContext.getRequest().getHeader("User-Agent")獲得當(dāng)前瀏覽器代理信息,各類型瀏覽器代理信息如下:
(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微信內(nèi)置瀏覽器:
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微信內(nèi)置瀏覽器:
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
通過對比多個瀏覽器的代理信息,可以發(fā)現(xiàn)一個關(guān)鍵信息“MicroMessenger”。通過“MicroMessenger”便能夠區(qū)分請求的來源,從而保證信息只能在微信中打開,示例代碼如下:
HttpServletRequest req = ServletActionContext.getRequest(); //識別微信瀏覽器 String userAgent=req.getHeader("User-Agent");//里面包含了設(shè)備類型 if(-1==userAgent.indexOf("MicroMessenger")){ //如果不是微信瀏覽器,則跳轉(zhuǎn)到安全頁 return "safePage"; }
JSP頁面中,防止外部瀏覽器打開方法的示例代碼如下:
<% //識別微信瀏覽器 String userAgent=request.getHeader("User-Agent");//里面包含了設(shè)備類型 if(-1==userAgent.indexOf("MicroMessenger")){ //如果不是微信瀏覽器,則跳轉(zhuǎn)到安全頁 request.getRequestDispatcher("noRightPage.jsp").forward(request, response); } %>
備注:在微信中,可以通過userAgent.indexOf("iPhone")來區(qū)分是Android手機還是iPhone手機,示例代碼如下:
HttpServletRequest req = ServletActionContext.getRequest();String userAgent=req.getHeader("User-Agent");//里面包含了設(shè)備類型if(-1!=userAgent.indexOf("iPhone")){//-------如果是蘋果手機----------////此方法需要瀏覽器自己能夠打開,iOS可以,但是微信Android版內(nèi)置瀏覽器不支持}else{//如果非蘋果手機,則自己處理文檔}
本文選自《微信企業(yè)號開發(fā)完全自學(xué)手冊》,點此鏈接可在博文視點官網(wǎng)查看此書。
想及時獲得更多精彩文章,可在微信中搜索“博文視點”或者掃描下方二維碼并關(guān)注。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:微信JSAPI模式與瀏覽器類型安全訪問-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article4/cchjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、Google、域名注冊、網(wǎng)站建設(shè)、搜索引擎優(yōu)化、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容