几天前,我玩弄了创建基于HTML5 Canvas的验证码的想法,以保护机器人的某些表单字段输入。
棘手的部分是,您必须在某个时刻致电:ctx.fillText(char, x, y);
除非使用某种客户端加密,否则基本上来自服务器的char
变量将对客户端可见。
即便如此,我认为你能达到的最好的是某种形式的旋转混淆方案,这样自动化机器人就很难轻易解密。
我想要画布客户端的原因是为了减少服务器负载并减少应用程序的依赖性(使用节点不希望为节点画布等安装Cairo ...)
有关从何处开始的任何建议?
答案 0 :(得分:0)
仅适用于非常小的安全值。
(换句话说,没有。)
除了通过网络保存的字节之外,你没有其他理由。无论哪种方式,服务器都必须花时间处理它需要检查的一组字符。它也可能花时间将base64字符串发送到客户端并用作验证码。