-3

我正在使用下面的 javascript 在我的网站中加载验证码。这工作正常。但在我第一次登录时,它默认显示数字“5AbD”。我该如何改变它。

http://wiki.asp.net/page.aspx/1369/simple-captcha-code-in-javascript/

我使用上面的链接 javasctipt。我不能在这里发布这个脚本..

4

1 回答 1

1

您没有提供很多细节,但通常这样的事情与每次使用相同种子生成的随机数有关。如果您滚动自己的验证码,我会调查您是如何生成字符串的。通常将系统滴答计数作为随机数种子传递。

否则,您并没有真正为任何人提供足够的信息来给出有用的答案。

编辑:

1)看到你的代码后,首先我想说的是,作为验证码,这是非常有缺陷的。关键是机器人无法确定代码并自动输入。这就是为什么它们通常是在服务器上生成的图像。很难从图像中提取值。

2)它每次都显示相同的值,因为您没有以其他方式对其进行编码。您实际上是从相同的硬编码值开始并对其进行修改。查看 Math.random() 函数以生成初始值的随机数,而不是对其进行硬编码。但是,参考第 1 点,我会完全放弃这整个 javascript,因为作为验证码它是无用的,因为机器人可以获取该控件的值并用它填写表单。

3)实现验证码的步骤通常是这样的:在服务器上生成随机字符串,将该字符串保存到会话中,使用该字符串生成图像(带有一些噪音/字体时髦,以防止图像处理器轻松读取文本),然后在页面上显示图像。实际的字符串值永远不会离开服务器。提交表单时,您只需将用户值与之前存储在会话中的值进行比较。但与其经历所有这些(除非整个要点是作为学习练习),您可能会考虑使用任何预制的验证码控件,例如 recaptcha 等。无论哪种方式,请查看随机数函数,因为只要您始终从相同的硬编码值开始,那么您将始终得到相同的结果。

于 2013-05-15T04:23:59.453 回答