我正在尝试编写一个基本上是编辑数据库记录前端的应用程序。我听说确保更新数据库中正确行的方法是在更新表单中包含一个隐藏的表单字段,其中包含行唯一ID,并使用此字段向后端更新语句添加条件。 / p>
然而,这似乎不安全。任何人都可以在预先提交的页面上编辑HTML并更改正在更新的记录,不是吗?传递用户正在编辑的行的唯一ID及其编辑的正确方法是什么?我想这可以通过cookie /会话跟踪完成,但在提交之前不能编辑客户端吗?
谢谢!
答案 0 :(得分:3)
如果客户允许无论如何都要修改相关记录,他是否通过修改隐藏字段中的ID或转到正确的页面并提交从那里开始。
当任何客户提交任何表单时,服务器需要a)确保客户端有权修改他试图修改的记录,以及b)验证提交的数据是否允许记录。然后,无论用户是否使用正确的表单,您的所有业务规则都将受到保护和处理。
您还可以在会话服务器端保存所有隐藏字段的哈希值,并检查提交时是否捕获隐藏的字段操作尝试,如果这仍然符合您的兴趣。
答案 1 :(得分:1)