gpt4 book ai didi

javascript - 如何防止禁用 javascript 的用户提交表单?

转载 作者:行者123 更新时间:2023-11-30 10:22:19 25 4
gpt4 key购买 nike

我们有一个查询表单,要求用户使用 JS 至少输入他们的姓名、位置、联系信息、评论/问题等。我们收到了很多完全空白和半空白的表单。我们知道,如果用户禁用了 JS,他们可以单击提交按钮而不填写任何内容。我研究了禁用提交按钮的可能性,除非启用了 JS,但我读到很多人认为这个是个坏主意。建议?谢谢!

最佳答案

您无法阻止通过各种技术提交空白表单。您的服务器应该验证表单并拒绝不正确的提交。这是接受来自任何外部源的数据的任何服务器的核心基础。它必须在接受数据之前进行自己的数据验证。

可以制作一个表单,使浏览器无法通过未启用 javascript 的普通浏览器将其提交到您的网站。例如,如果 HTML 中的表单没有默认操作,并且提交操作仅在 javascript 中实现,那么如果禁用 javascript,表单将不会提交。仍然有其他方法可以在没有客户端验证的情况下提交数据,这就是为什么始终需要服务器端验证的原因,但这可能会在用户到达您的服务器之前阻止一些用户错误。

您还可以使用 <noscript>标记以告知用户需要 javascript。


您只需在您的字段中包含一个通过 javascript 填充已知值的表单,即可立即识别来自机器人服务器端的许多表单提交。如果在您的服务器上收到表单时,该已知值不存在于表单中,则表单很可能是由启用了 javascript 的浏览器以外的其他东西提交的。

您可以通过不在 HTML 中使用常规表单操作来阻止自动机器人提交。如果提交 URL 仅在您的 javascript 中并且提交仅通过 javascript 完成,那么大多数机器人将永远不会看到它,甚至不知道尝试(因为它们不运行 javascript)。

仅供引用,后两种技术都不能阻止黑客提交恶意表单/数据,因为他们可能会充分分析事物以了解缺失的内容,但它们可以帮助识别自动提交尝试。

关于javascript - 如何防止禁用 javascript 的用户提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21049210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com