微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)
微信小程序HTTPS已經(jīng)是當(dāng)下最熱門的話題,下面將從多方面來談?wù)勎⑿判〕绦騂TTPS相關(guān)的內(nèi)容,下面從小程序是否必須要用https,小程序https證書配置,小程序https證書問題,小程序https post等七篇系列來講解。
- 第 1 頁微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)
- 第 2 頁【小程序https重要性】 小程序做https為什么可以有效防止劫持的出現(xiàn)(2)
- 第 3 頁【小程序https必要性】 小程序必須https嗎,做https前這三點你要考慮(3)
- 第 4 頁【小程序https接入】 小程序零門檻https證書接入詳細(xì)步驟4(騰訊云版)
- 第 5 頁【小程序https問題】 微信小程序HTTPS證書報錯常見問題及解決方案(5)
- 第 6 頁【小程序https安裝】 小程序https證書安裝以及后臺https域名綁定6(免費版)
- 第 7 頁【小程序post請求】 微信小程序 POST請求代碼示例講解(7)
一、微信小程序接入的困境
開發(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)險比較隱蔽,用戶基本感知不到。但另外一類劫持的影響就非常明顯非常直接了——頁面劫持,也就是直接篡改用戶的瀏覽頁面。有很多頁面劫持很簡單粗暴,直接插入第三方廣告或者運營商的流量提示信息。
但也有一些劫持做得比較隱蔽,比如下面的京東頁面劫持:其中上圖是使用 HTTP 方面的頁面,頂部箭頭所示的地方出現(xiàn)了一個購物推薦,很逼真,就像京東或者瀏覽器官方的工具。
但換成 HTTPS 訪問,就沒有這個工具頁面,顯然是被劫持了。
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)。如下圖所示:
由于信息傳輸都需要經(jīng)過上述的「中間人節(jié)點」,它們又擁有信息的讀寫權(quán)限,如果信息沒有加密,也沒有校驗,那么想要查看隱私,篡改頁面,對于「中間人」來說可謂是輕而易舉。
那劫持又有哪些主要的分類呢?根據(jù)劫持路徑劃分的話,主要是下圖所示的三類:
DNS 劫持,客戶端劫持和鏈路劫持。 根據(jù)我們的不完全統(tǒng)計,業(yè)務(wù)遇到的絕大部分劫持 (90%)都屬于鏈路劫持。
第二部分:如何開通一個小商店
- 第 1 頁【小程序開發(fā)】微信小程序HTTPS 這是微信小程序開發(fā)者必須注意(1)
- 第 2 頁【小程序https重要性】 小程序做https為什么可以有效防止劫持的出現(xiàn)(2)
- 第 3 頁【小程序https必要性】 小程序必須https嗎,做https前這三點你要考慮(3)
- 第 4 頁【小程序https接入】 小程序零門檻https證書接入詳細(xì)步驟4(騰訊云版)
- 第 5 頁【小程序https問題】 微信小程序HTTPS證書報錯常見問題及解決方案(5)
- 第 6 頁【小程序https安裝】 小程序https證書安裝以及后臺https域名綁定6(免費版)
- 第 7 頁【小程序post請求】 微信小程序 POST請求代碼示例講解(7)