我有一个允许匿名发帖的论坛,受 CAPTCHA 保护。为了方便用户,我为这样的用户设置了一个cookie,持续大约一个月,这样用户就不会一遍又一遍地得到验证码。以最简单的形式调用 cookie no_captcha_for_one_month
,其值为1
. 当用户返回并匿名发帖时,他不会得到验证码。
有人看到漏洞吗?论坛垃圾邮件发送者只需要正确填写一次验证码,然后将 cookie 信息用于他的机器人,然后就可以了。
我曾想过要有创意并使用服务器端哈希,其中包括例如用户 IP 地址和一些秘密盐来生成 cookie 值,但它当然对于这个 IP 地址仍然有效。
有人给我的印象是这个问题很愚蠢,我试图解决一些无法解决的问题。