注冊登錄

微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)

2020-09-28
導(dǎo)讀:微信小程序HTTPS已經(jīng)是當(dāng)下最熱門的話題,下面將從多方面來談?wù)勎⑿判〕绦騂TTPS相關(guān)的內(nèi)容,下面從小程序是否必須要用https,小程序https證書配置,小程序https證書問題等。...

微信小程序HTTPS已經(jīng)是當(dāng)下最熱門的話題,下面將從多方面來談?wù)勎⑿判〕绦騂TTPS相關(guān)的內(nèi)容,下面從小程序是否必須要用https,小程序https證書配置,小程序https證書問題,小程序https post等七篇系列來講解。
 

一、微信小程序接入的困境

開發(fā)者在接入微信小程序過程中,會遇到以下問題:

微信小程序要求必須通過 HTTPS 完成與服務(wù)端通信,若開發(fā)者選擇自行搭建 HTTPS 服務(wù),那需要自行 SSL 證書申請、部署,完成 https 服務(wù)搭建,效率低流程冗長;且 HTTPS 的 SSL 加解析,對服務(wù)器的 CPU 有極大的開銷。

不僅僅是小程序,蘋果 iOS 平臺,Google Android 在 2017 也逐步強制要求開發(fā)者使用 HTTPS 接入。HTTPS 似乎是一個繞不開的門檻,讓不少開發(fā)者頭痛不已。

針對以上問題,騰訊云的負(fù)載均衡服務(wù)(cloud load balance),希望通過對 HTTPS 的性能優(yōu)化,提供一鍵式的 SSL 證書申請服務(wù),降低 HTTPS 的應(yīng)用門檻和使用成本,讓開發(fā)者能快速接入微信小程序等服務(wù)。首先,先讓我們看看 HTTP 與 HTTPS 的對比,逐一解開您的謎團(tuán)。

二、為什么要接入 HTTPS—HTTP 的安全風(fēng)險

前面我們已經(jīng)說到了HTTP 協(xié)議是一個非常簡單和高效的協(xié)議,互聯(lián)網(wǎng)大部分的主流應(yīng)用默認(rèn)都是使用的HTTP。由于性能和上個世紀(jì) 90 年代使用環(huán)境的限制,HTTP 協(xié)議本身并不是一個為了安全設(shè)計的協(xié)議,既沒有身份認(rèn)證,也沒有一致性檢驗,最頭疼的是,HTTP 所有的內(nèi)容都是明文傳輸?shù)摹?/span>

另外一方面,互聯(lián)網(wǎng)的發(fā)展也是日新月異,各種 HTTP 應(yīng)用不斷地滲透到人們生活的方方面面。不管是社交、購物、金融、游戲、還是搜索,這些 HTTP 服務(wù)都能帶給人們極大的便捷,提升生活質(zhì)量和效率。

 

顯然,HTTP 和人們生活及經(jīng)濟利益密切相關(guān),遺憾的是,它不安全。也就意味著這里一 定潛藏著巨大的安全隱患。這些隱患又集中表現(xiàn)在如下兩方面:

1、隱私泄露

由于 HTTP 本身是明文傳輸,用戶和服務(wù)端之間的傳輸內(nèi)容都能被中間者查看。也就是說 你在網(wǎng)上搜索、購物、訪問的網(wǎng)點、點擊的頁面等信息,都可以被「中間人」獲取。由于國人大多不太重視隱私的保護(hù),這里的風(fēng)險比較隱性,傷害后果也不太好定量評估。已知的一些比較嚴(yán)重的隱私泄露事件包括:

1、QQ 登陸態(tài)被不法分子竊取,然后在異地登陸,進(jìn)行廣告和欺詐行為。

2、用戶手機號和身份信息泄露。

3、用戶網(wǎng)上行為泄露。比如搜索了一所醫(yī)院,很快就會有人打電話進(jìn)行推廣(非效果廣告)。

2、頁面劫持

隱私泄露的風(fēng)險比較隱蔽,用戶基本感知不到。但另外一類劫持的影響就非常明顯非常直接了——頁面劫持,也就是直接篡改用戶的瀏覽頁面。有很多頁面劫持很簡單粗暴,直接插入第三方廣告或者運營商的流量提示信息。

微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)

但也有一些劫持做得比較隱蔽,比如下面的京東頁面劫持:其中上圖是使用 HTTP 方面的頁面,頂部箭頭所示的地方出現(xiàn)了一個購物推薦,很逼真,就像京東或者瀏覽器官方的工具。

微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)

但換成 HTTPS 訪問,就沒有這個工具頁面,顯然是被劫持了。

微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)

3、劫持路徑及分類

那劫持到底是如何產(chǎn)生的呢?從技術(shù)上來講比較簡單,在內(nèi)容經(jīng)過的地方進(jìn)行監(jiān)聽篡改就行了。但要想把整個劫持的產(chǎn)業(yè)鏈條摸清楚,需要深入黑產(chǎn)內(nèi)部,比較困難。有一點可以肯定的是,劫持大部分都是在中間的網(wǎng)絡(luò)節(jié)點發(fā)生的,又叫「中間人」(MITM, man in the middle)。如下圖所示:

微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)

由于信息傳輸都需要經(jīng)過上述的「中間人節(jié)點」,它們又擁有信息的讀寫權(quán)限,如果信息沒有加密,也沒有校驗,那么想要查看隱私,篡改頁面,對于「中間人」來說可謂是輕而易舉。

那劫持又有哪些主要的分類呢?根據(jù)劫持路徑劃分的話,主要是下圖所示的三類:

微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)

DNS 劫持,客戶端劫持和鏈路劫持。 根據(jù)我們的不完全統(tǒng)計,業(yè)務(wù)遇到的絕大部分劫持 (90%)都屬于鏈路劫持。

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)

電話咨詢 微信咨詢 預(yù)約演示 0元開店