使用唯一 ID 阻止 duplicate/malicious 表单输入

Preventing duplicate/malicious form input with a unique ID

我估计每个有表单的页面都需要生成一个唯一的 ID。如何在在线环境中存储、检索和验证此 ID?

您是否会在每个包含表单的页面上创建一个新数据库并运行一个INSERT查询?随后在表单目标页面上进行 SELECT 查询以验证?

然后您是否需要手动 运行 一个脚本来检查旧 ID 以将其删除?还是有更有效的方法来解决所有这些问题?

编辑:这是为了防止使用相对简单的查询执行主要操作的脚本被滥用。比如说 limited_event.php 可以通过一个 createNewReservationAutomatically 变量发布到,它就是这样做的,创建一个临时预订,其中包含提交的任何联系方式以供稍后手动验证。

如果使用这些变量重复请求脚本,它最终会填满所有可用位置(通常会淹没您的数据库)。

根据我的理解,引用 URI 可能会被欺骗,因此不可靠。 Web 开发人员要做什么?如果你不说 recaptcha,我会投票给你。

您似乎在问 3 个问题:如何防止重复提交、如何 "reserve" 点以及如何保护表单免受恶意输入。

  1. 要防止重复提交表单,请使用http://en.wikipedia.org/wiki/Post/Redirect/Get

  2. 有关预订,请参阅https://whosebug.com/questions/tagged/reservation?sort=votes

  3. 为了保护表单免受恶意输入,您需要进行服务器端验证,使用 XSS、CSRF 和暴力破解