据我从读这里,事实的验证码不是可以用100%secure.what,而不是验证码?作为一名程序员,你怎么看?怎么解决这个问题?
编辑:感谢所有答案.
这是一个未解决的问题,随着时间的推移将变得更加未解决.OCR工具越好,人与计算机之间的差距越小,将它们分开就越难.最终,计算机将与人类无法区分,然后游戏将会启动.
如果你的服务器想要确保一个人在TCP管道的另一端,那么就不存在最终不会被击败的图灵测试(并且可能永远不会有一个).CAPTCHA注定要失败,这只是一个问题.
当然,就人类认证而言,这并不意味着它已经全部结束.它只是意味着自动化图灵测试虽然方便,但却不是长期实现这一目标的有效方法.
Captcha涉及人类反思(如计算,非常简单的问题等).
会话令牌
随机生成的隐藏输入需要为null,在服务器端生成随机标识符,将其保留在会话中一段时间.如果输入已填充且未为空,那么它可能已由机器人填充,您的用户是否会填充隐藏的输入?
我认为这实际上取决于你试图控制验证码的使用.
鲍里斯提出的建议的进一步解释:
随机生成的隐藏输入,需要为null
这个想法是你的表单包含几个不可见的输入,它们的类型可能不应设置为隐藏,但它们应该对人类不可见(例如,设置宽度或高度为0).这些字段的初始内容应为空.如果一个人填写表格,该字段将为空,因为人类无法看到该字段以便输入任何内容,但如果机器人填写表格,该字段将(可能)不为空,因为通常机器人只是盲目地在每个领域输入一些东西.
因此,您可以根据此字段的内容是否为空来区分机器人和人.