鍍金池/ 問答/PHP  HTML/ PHP 手機(jī)短信驗(yàn)證碼問題求指教

PHP 手機(jī)短信驗(yàn)證碼問題求指教

目前實(shí)現(xiàn)發(fā)送驗(yàn)證碼到指定手機(jī)號碼了,現(xiàn)在的問題是如何進(jìn)行驗(yàn)證碼的校驗(yàn),是將發(fā)送結(jié)果存儲到數(shù)據(jù)庫里面嗎?我用的是阿里大魚···不知道能否獲得發(fā)送的內(nèi)容呢?

用戶在網(wǎng)頁界面上輸入驗(yàn)證碼后,會有一個驗(yàn)證過程···菜鳥求助,發(fā)送的驗(yàn)證碼大家怎么保存的呀?以為發(fā)送后還有一次驗(yàn)證···

回答
編輯回答
蔚藍(lán)色

1,自己生成6位的短信驗(yàn)證碼,生成一個rediskey,保存這個短信驗(yàn)證碼,并給個有效時(shí)間,這時(shí)也把rediskey告訴客戶端;
2,調(diào)用短信服務(wù)商api發(fā)送短信,
3,客戶端提交時(shí),post攜帶rediskey,輸入的短信驗(yàn)證碼,后臺根據(jù)rediskey調(diào)出redis存儲的短信驗(yàn)證碼與輸入的驗(yàn)證碼比對,通過,刪除這個rediskey。

2017年5月3日 15:28
編輯回答
撿肥皂

一般存session就好了
好點(diǎn)的呢就存到redis里面, 有效期好控制

2017年3月1日 18:14
編輯回答
愿如初

你生成的驗(yàn)證碼是要存起來的,然后用戶收到后輸入,你接受用戶輸入的驗(yàn)證碼和你之前保存的驗(yàn)證碼對比,一樣就通過,不一樣就報(bào)驗(yàn)證碼錯誤

2017年1月2日 13:46
編輯回答
夢囈

保險(xiǎn)的話就數(shù)據(jù)庫和緩存都存一遍,這樣兩邊都有記錄,方便核對

2018年8月1日 05:35
編輯回答
朕略傻

可以存緩存里

2017年11月30日 11:26
編輯回答
尛憇藌

存儲的時(shí)候可以考慮再加上一個過期時(shí)間
這個輪子不錯,可以試試,https://github.com/overtrue/e...
在用的話當(dāng)我沒說233333

2017年2月10日 16:34
編輯回答
汐顏

思路就是:

  1. 生成驗(yàn)證碼(最簡單就是用個隨機(jī)數(shù))
  2. 將驗(yàn)證碼存入數(shù)據(jù)庫表中,注意一定要有過期時(shí)間
  3. 將驗(yàn)證碼和文案按照預(yù)定的格式組裝好
  4. 調(diào)用發(fā)送短信接口發(fā)送短信進(jìn)行發(fā)送
  5. 用戶收到短信,根據(jù)驗(yàn)證碼到對應(yīng)使用處進(jìn)行驗(yàn)證
  6. 后端接口拿到發(fā)送過來的驗(yàn)證碼和數(shù)據(jù)庫中的有效驗(yàn)證碼進(jìn)行驗(yàn)證,符合通過,否則不通過。
2017年12月15日 07:31
編輯回答
鐧簞噯

直接將值傳給服務(wù)器進(jìn)行校驗(yàn),這樣可以防止攻擊呀

2017年2月4日 15:55