我创建了一个简单的网站,用户可以登录,插入,编辑和删除数据..
crud是使用$ _GET ['id']完成的,它需要一个id并显示要编辑的数据。
但这是一个大问题,当用户通过猜测传递其他IDS时,它可以让他们编辑与其无关的其他用户的记录。
任何帮助将不胜感激
我已将$ _SESSION ID保存到变量
中$user_id = $_SESSION['user_id'];
但是当你去浏览器并输入example.com/page.php?user_id=something时 然后它获取其他用户数据进行编辑..
答案 0 :(得分:1)
如果当前用户是他们尝试编辑的内容的所有者,则应在显示或甚至处理内容之前验证。
但这取决于您创建项目的方式,最常见的方法是将内容user_id
与当前会话id
进行比较。
答案 1 :(得分:0)
当您访问浏览器并输入example.com/page.php?user_id=something时,它会提取其他用户数据进行编辑
据推测,您的代码不会检查用户是否允许这样做。当用户请求编辑其他用户的数据时,您需要首先检查发出请求的用户是否允许编辑所请求的用户数据。例如:
拒绝编辑时,只需向用户返回错误消息。
请注意,当用户请求"编辑"时,应该两者。页面 和 ,当用户提交时,"编辑"页。表格帖子可以像其他任何东西一样容易欺骗。永远不要假设用户必须已通过第一次检查才能到达第二个。
但是你管理你的逻辑取决于你。但重点是用户可以随时编辑请求中的任何数据。它取决于您的代码,以确保用户不会有意或无意地做恶意事件。