微信小程序要求HTTPS加密?
作為BAT的Java開(kāi)發(fā)工程師來(lái)回答這個(gè)問(wèn)題。這個(gè)問(wèn)題的本質(zhì)其實(shí)就是后端要部署一個(gè)https接口服務(wù),需要找證書(shū)。
微信小程序這算是最近最火的項(xiàng)目了,微信小程序的熱度一度高過(guò)了APP開(kāi)發(fā),在我看來(lái)有兩點(diǎn)原因。
1 開(kāi)發(fā)難度低。在微信生態(tài)中開(kāi)發(fā),只需要前端語(yǔ)言和nodejs就能搭建起一個(gè)服務(wù),比起APP開(kāi)發(fā)真是快速簡(jiǎn)單。
2 宣傳快準(zhǔn)狠。借助微信生態(tài)圈,而不是上傳到應(yīng)用商店,即用即走的態(tài)度,從用戶的角度減少了下載app的過(guò)程,少了很多麻煩,因此只要將廣告?zhèn)鬟f給對(duì)應(yīng)的用戶,自然不愁使用者一傳十,十傳百,紛紛進(jìn)行無(wú)門檻試用。
然而,這些小程序的后端是各自為戰(zhàn),并不在微信的管轄范疇內(nèi)。考慮到很多小程序會(huì)要用戶的個(gè)人信息,比如頭像,地理位置,用戶名等等,為了安全,要求微信小程序開(kāi)發(fā)者在使用后端服務(wù)的時(shí)候,使用安全加密的https協(xié)議,避免上述信息泄露,也是情理之中的。
https協(xié)議很多小程序都是通過(guò)api的方式來(lái)與其后端server交互,拿到數(shù)據(jù)展示給用戶的。舉個(gè)例子,使用大眾點(diǎn)評(píng)的小程序,當(dāng)你點(diǎn)擊一個(gè)餐館的時(shí)候,其實(shí)是小程序作為前端捕獲你的動(dòng)作,然后將餐館的id通過(guò)api的方式傳給后端,再將后端返回的數(shù)據(jù)渲染到小程序的前端頁(yè)面上。這個(gè)與后端server交互的api,如果使用http協(xié)議,那么一旦你家路由器被攔截,那么就有你的賬號(hào)信息,密碼被盜取的風(fēng)險(xiǎn),原因是http協(xié)議是進(jìn)行明文傳輸。而https就不一樣了,它是用ssl證書(shū)加密過(guò)的,如果沒(méi)有對(duì)應(yīng)的證書(shū),就算真的被劫持了,黑客獲取的也就是一堆亂碼。
SSL證書(shū)那么作為個(gè)人開(kāi)發(fā)者,該如何選擇SSL證書(shū),從而保證我們的服務(wù)安全性呢。
目前SSL證書(shū)簡(jiǎn)單分為四個(gè)類型
1 適合個(gè)人網(wǎng)站,博客使用的DV SSL證書(shū),這個(gè)證書(shū)驗(yàn)證的信息比較寬泛,只驗(yàn)證域名所有權(quán)
2 適合自媒體的IV SSL證書(shū),這個(gè)比1的要嚴(yán)格一點(diǎn),會(huì)進(jìn)行個(gè)人身份驗(yàn)證
3 適合企業(yè)級(jí)用戶使用的OV SSL證書(shū),會(huì)驗(yàn)證所屬單位身份
4 最高級(jí)的EV SSL證書(shū),會(huì)進(jìn)行擴(kuò)展驗(yàn)證,適合高度信任的企業(yè)級(jí)用戶。
以上,DV和IV是最不嚴(yán)格的證書(shū),考慮到SSL證書(shū)都是收費(fèi)的,如果是個(gè)人小程序的話,還是建議使用這類便宜點(diǎn)的證書(shū)。
以上是我的淺見(jiàn),歡迎各位點(diǎn)贊評(píng)論留言,與我交流。
我是蘇蘇思量,來(lái)自BAT的Java開(kāi)發(fā)工程師,每日分享科技類見(jiàn)聞,歡迎關(guān)注我,與我共同進(jìn)步。