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

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

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

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

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

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

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

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

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

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

2017年1月2日 13:46
編輯回答
夢(mèng)囈

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

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

可以存緩存里

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

存儲(chǔ)的時(shí)候可以考慮再加上一個(gè)過(guò)期時(shí)間
這個(gè)輪子不錯(cuò),可以試試,https://github.com/overtrue/e...
在用的話當(dāng)我沒(méi)說(shuō)233333

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

思路就是:

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

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

2017年2月4日 15:55