多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > 15.app后端怎么設計用戶登錄方案

15.app后端怎么設計用戶登錄方案

來源:程序員人生   發布時間:2015-03-16 10:32:15 閱讀次數:4252次
在很多app中,都需要用戶的登錄操作。登錄,就需要用到用戶名和密碼。為了安全起見,暴露明文密碼的次數越少越好。怎樣能最大程度避免泄漏用戶的密碼呢?在登錄后,app后端怎樣去驗證和保持用戶的登錄狀態呢?在本文中,給出了1套用戶登錄的解決方案,以供大家參考。


1. 保證登錄的安全性,最最少要使用https協議



  避免信息的泄漏,最簡單的方案是所有觸及到安全性的api要求,都必須要使用https協議。


  HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議


  它是1個安全通訊通道,它基于HTTP開發,用于在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來講它是HTTP的安全版。它是由Netscape開發并內置于其閱讀器中,用于對數據進行緊縮和解壓操作,并返回網絡上傳送回的結果。HTTPS實際上利用了Netscape的安 全全套接字層(SSL)作為HTTP利用層的子層。


  http是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。


  注意了,https協議需要到ca申請證書,1般免費證書很少,需要交費。


  我們可以看看所有大型網站,例如京東,淘寶,支付寶,觸及到登錄和支付的頁面,url都是以https開頭,這就意味著,這次通訊是使用https。開放平臺的api,例如新浪微博,騰訊等,api要求都是以https開頭的。https是業界經常使用的保證安全性的協議。


  因此,觸及安全問題的api,都應當使用https協議。雖然,https為了保證安全性,在效力上是比http協議低。


2. 基本的用戶登錄方案



  在傳統的web網站中,可使用cookie+session來實現用戶的登錄保護,那末在app后端,可以怎樣實現呢?


  在app后端,怎樣避免每次驗證用戶身份都需要傳輸用戶名和密碼呢?


  1個生活的模型就是:


  假定服務器是個房間,里面有個房間管理員,房間上的門有把鎖,這把鎖有兩種打開方式:


  1. 輸入了這把鎖上注冊的用戶名和密碼,就可以打開


  2. 用房間管理員提供的鑰匙打開


  a.當第1次使用用戶名和密碼打開了這把鎖后,進入房間,找到房間管理員,讓他提供1把鑰匙。


  b.那以后每次需要進入這個房間,就用這把鑰匙就好了,不用擔心旁邊有人偷看到自己的用戶名和密碼.


  c.決定有1段時間不進入這個房間,又怕鑰匙被偷,就進入房間里,把鑰匙還給管理員,讓管理員把鑰匙毀滅


  a就是登錄的操作,b就是驗證身份的操作,c就是退出登錄的操作.


  理論版的描寫以下:


  (1) 服務器接收到app發送的用戶名和密碼后,驗證用戶名和密碼是不是正確。


  如果毛病則返回毛病信息。


  如果驗證正確,生成1個隨機的不重復的token字符串(例如"daf32da456hfdh"),在redis或memcache中保護1個映視表,建立token字符串和用戶信息的對應關系表,例如,把token字符串"daf32da456hfdh"和用戶id"5"對應起來。


  (2) 服務器把token字符串返回給app,app把這個token字符串保存起來,作為登錄的驗證。


  (3) 當需要驗證用戶身份的操作時,必須要把token字符串傳給服務器驗證身份。


  例如,api "test.com/user/update"是更新用戶的信息,必須要驗證用戶的身份.當調用api "test.com/user/update"時,把token字符串"daf32da456hfdh"放在url上,變成"test.com/user/update?token=daf32da456hfdh" .


  當服務器接收到這個api要求,知道要驗證用戶身份的,因而,就把參數中token的值"daf32da456hfdh"取出來,在(1)中建立的token字符串和用戶信息的對應關系表查找,如果發現沒這個token值的,則返回驗證失敗的信息。如果發現有這個token值,則獲得這個用戶的信息,進行相干的更新操作。


  (4) 當用戶退出登錄時,需要通過調用api,讓服務器把這個用戶對的token字符串刪除.


  例如,api "test.com/user/logout"是退出登錄的api,也要驗證用戶身份, 則調用"test.com/user/logout?token=daf32da456hfdh" 。當服務器接到退出登錄的api要求時,在(1)中建立的token字符串和用戶信息的對應關系表查找token字符串,把token和用戶信息都刪除便可。


  注意:這個方案其實不是10分安全,這個身份驗證是依賴于token字符串。如果用戶泄漏了自己的url, 那很大程度上token也被他人泄漏了,就相當于鑰匙被人復制了1份。在下篇的通訊安全中,會描寫1個避免token在通訊中泄漏的方案。


---------------------------------------------------------------------------------------------------------------------------

打開鏈接  app后端系列文章總目錄 總目錄 ,能查看本人發表過的所有原創“app后端”文章。

【作者】曾健生
【QQ】190678908
【app后端qq群】254659220 
【微信公眾號】 appbackend
【新浪微博】 @newjueqi
【博客】http://blog.csdn.net/newjueqi 


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品第一 | 久久精品隔壁老王影院 | 视频三区精品中文字幕 | a级做人爱免费播放 | 国产成人一区二区三区高清 | 久久久午夜精品 | h在线观看视频 | 国产免费午夜a无码v视频 | 精品自拍视频在线观看 | 亚洲成人偷拍 | 国产成人精品午夜二三区 | 亚洲精品美女久久久久 | 日韩欧美一区二区三区四区 | 最近最新高清中文字幕6页 最近最新免费中文字幕8 | 欧美一级乱妇老太婆特黄 | 自拍视频精品 | 伊人亚洲| 视频在线免费观看 | 97av在线播放 | 国产区图片区小说区亚洲区 | 欧洲一区二区 | 俺去操| 亚洲精品欧美精品一区二区 | 日本特黄a级高清免费酷网 日本特黄的免费大片视频 日本特黄高清免费大片爽 日本特黄色大片 | 欧美一区二区三区在线可观看 | 婷婷我也去| 美美女高清毛片视频黄的一免费 | 华人色| 久久亚洲日本不卡一区二区 | 欧美1069| 欧美色综合高清免费 | 欧美成人在线视频 | 亚洲国产欧美在线人网站 | 国产一二三四区中 | ady久久 | 日本午夜精品一本在线观看 | 欧美一区二区在线观看免费网站 | 日韩专区欧美 | 亚洲欧美专区精品久久 | 宇都宫紫苑野外中文字幕 | 99黄色片 |