作者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/cn.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