0

几天前,我想创建一个基于 HTML5 Canvas 的验证码来保护某些表单字段输入免受机器人的攻击。

棘手的部分是,在某些时候你将不得不调用:ctx.fillText(char, x, y);

基本上char来自服务器的变量将对客户端可见,除非使用某种客户端加密。

即便如此,我仍然认为你能做到的最好的事情是某种形式的旋转混淆方案,这样自动化机器人就很难轻松解密。

我想要画布客户端的原因是降低服务器负载并减少应用程序的依赖项(使用节点希望不必为节点画布等安装 Cairo ......)

关于从这里去哪里有什么建议吗?

4

1 回答 1

0

仅适用于非常小的安全值。

(换句话说,没有。)

除了通过网络保存的字节之外,您没有其他理由想要这样做。无论哪种方式,服务器都必须花时间处理一组需要检查的字符。它还不如花时间制作一个base64字符串发送给客户端并用作验证码。

于 2013-01-21T15:54:04.473 回答