已經(jīng)知道了md5不可以逆。有一個(gè)簡(jiǎn)單的token產(chǎn)生辦法$token = md5($username.$password.$regtime);1.既然你不可以逆,為何token僅僅24小時(shí)有效?產(chǎn)生的驗(yàn)證鏈接register/active.php?verify=".$token."'2.我知道token是不包含slash符號(hào)的 空格的,為何激活的時(shí)候,代碼需要這樣寫$verify = stripslashes(trim($_GET['verify'])); stripslashes沒有必要哈trim也沒有必要哈
2 回答

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
我記得以前有人說過這么一句話,驗(yàn)證碼是我們的最后一道防線,如果不設(shè)置有效期,那這最后一道防線豈不是也要倒了?

繁華開滿天機(jī)
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
第一個(gè)問題:
設(shè)置一個(gè)有效期,就是為了保存行為的一致性。舉個(gè)最簡(jiǎn)單的例子來(lái)說,當(dāng) A 使用賬號(hào)密碼創(chuàng)建了一個(gè)賬號(hào),A 這個(gè)時(shí)候不想激活了,這個(gè)時(shí)候B通過一些方式拿到了這個(gè)token,間接性的激活了怎么辦。其實(shí),有效期設(shè)置與否并無(wú)關(guān)系,重要的是盡量規(guī)避一些特殊情況
第二個(gè)問題:
其實(shí)也差不多,規(guī)避意外行為,假如你使用token進(jìn)行查詢的時(shí)候直接套用sql語(yǔ)句不就造成sql注入了?
- 2 回答
- 0 關(guān)注
- 1543 瀏覽
添加回答
舉報(bào)
0/150
提交
取消