作者hareion08 (巨蟹)
看板PHP
標題[請益] 密碼錯誤三次執行人機驗證
時間Tue Jan 20 10:31:02 2015
不好意思,小弟又來了
最近在研究自己的專題
本身寫網頁也有3年了吧
實力普普,這個專題想做深入一點
也是一個網站
-
想請問 我的使用者登入
為增加使用者體驗
在密碼錯誤三次後才會要求輸入驗碼進行人機驗證
關於 "三次之後"這個步驟該怎麼做比較好?
我用session存錯誤次數
但使用者清除cookie之後就可以繞過...
想在資料庫存ip跟user agent的logs
但這兩個資料都可以偽造
到頭來還是防君子不防小人
請大家指教,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.50.144
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1421721065.A.169.html
1F:→ MOONRAKER: 可以了,專心達到功能就好 01/20 10:53
2F:→ MOONRAKER: 沒有絕對安全,只有「夠安全」。就跟C語言初學者一樣, 01/20 10:54
3F:→ MOONRAKER: 沒有「無限大陣列」,只有「夠大的陣列」。 01/20 10:54
4F:→ carylorrk: 很好奇偽造 IP,response 怎麼傳回去? 01/20 11:53
5F:→ terrybob: 不會有永遠,只會有目前… 01/20 13:53
6F:→ terrybob: 不然大家直接用一個寫法就好啦 01/20 13:54
7F:→ et282523: 直接在資料表 user 加上 retry 次數和 expire time 呢? 01/21 13:14
8F:→ et282523: 反正驗證帳密通常都要查 db ,查到 retry 次數三次以上 01/21 13:14
9F:→ et282523: 加上還沒過期就再跳個驗證碼輸入框,多一個步驟也不過份 01/21 13:15
10F:→ et282523: 然後密碼正確再把 retry 歸零就好了。 01/21 13:16
11F:→ et282523: 查 db 是驗證帳密的時候查的,所以也沒浪費 db 查詢的時 01/21 13:17
12F:→ et282523: 間。 01/21 13:17
13F:→ et282523: 不過我的方法 retry 是綁在帳號上的,如果他一直試不同 01/21 13:18
14F:→ et282523: 的帳號的話就不適用了。 01/21 13:18
15F:→ MOONRAKER: 這個很實用,設計帳密資料表一起把登入行為考慮進去。 01/21 15:22
16F:→ hareion08: 感謝大家的建議!,我在考量效能跟使用性還有安全性再 01/22 00:46
17F:→ hareion08: 來想想要不要改 01/22 00:46
18F:推 j87b0003: 圖片驗證避不掉嗎?算個微積分XDDD 01/22 23:25
19F:推 et282523: 呵,微積分嗎?突然覺得不想登入了... 01/23 00:41
21F:→ MOONRAKER: 不知道有沒有什麼潛在的問題 01/23 01:47
22F:→ et282523: 呵,會不會色盲會無法登入啊? 01/23 10:53
23F:→ MOONRAKER: 這是Joomla的留言板套件裡面送的,直接的問題有一個 01/23 22:56
24F:→ MOONRAKER: 他會有6:2這種題目 不知為何畫不出÷也不用/讓人看不懂 01/23 22:59
25F:→ MOONRAKER: 但是自己改寫一下應該就可以 01/23 23:00
26F:→ LPH66: 有的國家確實是用 : 代表除 01/25 07:18
28F:→ LPH66: In some non-English-speaking cultures, "a divided by b" 01/25 07:19
29F:→ LPH66: is written a : b. 01/25 07:19
30F:→ LPH66: 萊布尼茲似乎也是這個用法的愛用者 01/25 07:20
31F:推 LPH66: ÷號好像還有一個問題是有的時候它是減的意思 01/25 07:23
33F:→ LPH66: 所以應該不是因為畫不出來而是可能會有誤會的關係 01/25 07:25
34F:→ MOONRAKER: 畫個 / 不就沒事了 01/26 10:54
35F:推 yoyock: 如果我來破解的話..有字的地方塗黑..全塗完後..OCR..解析 03/20 20:36