我有一个输入表单,人们可以通过网络将有关媒体的数据添加到SQL数据库。我的问题是 - 有没有办法确认所有添加的数据?
示例:
未知的人用垃圾邮件填写表单并按下提交按钮,我会在将信息发送到sql数据库之前收到有关(或必须确认)的信息。
答案 0 :(得分:0)
如果您正在构建SQL插件以防止SLQ注入等,并且您的目标是调整内容,那么这就像向表中添加一个名为“已确认”的列一样简单默认值为“0”。您的查看功能然后检查此值(如果$确认)...)并且在您设置确认标志之后才能查看输入。您可以在审核期间删除,甚至可以使用垃圾收集器cron作业删除早于预设时间的未确认条目。
如果你这样做是因为你担心数据进入你的数据库可能会破坏数据库(SQL注入和其他恶意问题),那么调整输入是一个非常耗时的解决方案。您应该阅读preparing queries以避免这些问题。
答案 1 :(得分:0)
根据您的特殊需求,这里有三个基本选项。
使用条件标志插入表中,需要通过&#34确认"确认"条目。这需要在一定量的宽限时间(通常是一天)之后定期清除未确认的条目,以避免使用垃圾混乱数据。这会使搜索变得困难,因为您必须在所有索引中包含此标志,以便保持性能并避免显示未确认的数据。
第二个选项是获取所有参数,将它们打包为在隐藏字段中注入的单个JSON,或者将每个元素呈现为具有来自先前提交的相同名称的隐藏字段。然后,确认过程将重新发布这些参数,并附加"确认"步骤
第三个选项是使用JavaScript,jQuery或某种前端框架(如Angular或React)在所有客户端执行此操作。这样可以避免往返服务器,服务器不需要做任何额外的工作来验证事情是否已经确认。