防止机器人提交表单的javascript代码
javascript code to prevent bots from submitting form
我需要一个javascript代码来阻止机器人提交表单。但我需要一个javascript客户端代码,它的工作方式类似CAPTCHA,但不调用服务器
感谢
最直接和简单的方法是在实际点击按钮时动态添加或编辑表单数据:
<input type="hidden" name="SubmittedByHuman" value="NO" />
<input type="submit" value="Submit me" onclick="this.form.elements['SubmittedByHuman'] = 'YES';" />
这样,在服务器端检查名为"SubmittedByHuman"的表单元素的值——如果它是"否",则意味着绕过了提交按钮——或者正如人们在评论中正确提到的那样,用户确实点击了,但禁用了JavaScript。
执行类似的操作
<h1>Type the result in the input box : 1+1</h1>
<input id="sum" type="text"/>
在提交之前,请检查输入中的值是否为2,然后提交。
为了改进这种类型的代码,您可以在h1中随机创建这两个值,并将它们保存到var中,然后再提交检查输入和总和是否相同。
我怀疑这是可能的,因为机器人足够复杂,可以绕过大多数事情。
记住,机器人不会在浏览器中打开网页并按下提交。它可能会扫描页面以查找<form>
,列出所有<input>
字段,并执行包含每个字段的所有数据的POST请求。
它不会运行任何javascript,也不会按下任何按钮。您必须在服务器端进行检查。
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- JavaScript代码问题:我正在将对象转换为数组
- Javascript阻止其他Javascript代码
- JavaScript代码未正确检查ajax请求
- 如何调试Javascript代码或函数
- 为什么我在这个javaScript代码中使用NaN
- 将javascript代码转换为jquery代码时出错
- 如何从Objective-C代码中调用javascript代码
- 有什么工具可以轻松读取javascript代码吗
- 这个javascript代码是如何编写的
- 如何解密此javascript代码
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- JavaScript代码无法在表单上呈现部分
- 以下 JavaScript 代码与 Facebook 相关
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间