phpcn_u15822017-07-04 13:47:58
資料庫。 簡訊驗證碼要考慮幾個約束:1.多少秒之內同一個手機號不得再接收短信2.同一個ip一個時間段裡不能調用多少次,為了安全,或許你還需要加上一天之內短信不能超過多少條。 所以這些約束的實作用資料庫比較好。 session肯定不行。備註: 加上圖形驗證碼,不然介面容易遭受攻擊哦。
欧阳克2017-07-04 13:47:58
安全,因為session在伺服器上,客戶端看不到,至於session的儲存方式,可以預設檔案session,可以session入庫,還可以用記憶體來存,例如上面有人說的redis memcache等,也可以在linux下用自己寫的緩存,都行,效率和成本只能有一個,用緩存成本高,用資料庫效率低
但實際上,現在很少公司自己搞這個,都用第三方,流量低的網站第三方划算,流量高的網站,你還缺這點錢?
黄舟2017-07-04 13:47:58
安全是相對的,你如果能保證cookie被竄改伺服器能發現就是安全的,這一點可以透過動態簽章來實現,動態簽章可以是value、key、time的hash,之後伺服器再對動態簽章進行驗證。不過一般這個業務場景用redis等快取來實現比較方便,不建議用session,session的超時事件沒有快取好控制。