使用瞬变存储验证码

时间:2010-09-01 作者:Alex

我只是想知道这样做是否可行:

页面显示一个表单,其中包含验证码transient 设置为存储验证码$_POST[\'captcha\'] 与数据库中的瞬态进行比较;如果匹配返回成功,否则失败,删除瞬态,你怎么看?这安全吗?

1 个回复
最合适的回答,由SO网友:mitcho 整理而成

我认为,虽然这种方法可能是安全的,但使用现成的captcha系统有许多优点,无论是在captcha图像/音频/媒体的安全性方面,还是在缓存等性能优势方面。例如,如果您使用基于JavaScript的captcha小部件,那么WordPress生成的底层页面实际上可以通过许多缓存插件完全缓存为静态页面。如果每次都用PHP生成captcha,这是不可能的

如果您确实这样做了,您还需要做的一件事是向表单中添加一个隐藏的nonce,以确保响应验证码的用户代理就是您刚才为其生成验证码的用户代理。WordPress的wp\\u nonce函数可以帮助您轻松做到这一点。否则,如果您没有仔细刷新captcha瞬态,则可能有人使用captcha缓存该页面,并让另一个用户代理发送响应。

结束

相关推荐