mysql - 使用唯一 ID 防止重复/恶意表单输入

标签 mysql forms validation forms-authentication user-input

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

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

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

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

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

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

最佳答案

您似乎在问 3 个问题:如何防止重复提交、如何“保留”位置以及如何保护表单免受恶意输入。

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

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

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

关于mysql - 使用唯一 ID 防止重复/恶意表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29295701/

相关文章:

java - Spring MVC 中的输入验证

java - 如何在@ExceptionHandler 中获取 BindException 的根异常

javascript - 我如何更改此 Javascript 代码来验证数据

PHP - 用于不常更新信息的 MySQL 调用或 JSON 静态文件

java - Glassfish 和 Mysql 不能很好地存储西里尔字母

javascript - 根据下拉值更改表单字段

javascript - 使用 AngularJS 按钮显示/隐藏表单的简洁方法

php - 键 'bla bla bla bla ' 上的重复条目 'username'?

mysql - MYSQL 中多个表的 UNION 问题

python - 该对象在 Django 中没有属性 'is_hidden'