我为学习目的构建了一个MVC'框架',我正在努力解决这个问题:
我正在研究CRUD应用程序,我不知道应该如何删除数据库中的记录。现在我正在通过URL进行。
example.com/controller/delete/id
这就是我从数据库中删除记录的方法。我不喜欢这种方式,因为任何人都可能无意或有意删除数据库记录。
所以我的问题是:我该如何实现这个功能?
答案 0 :(得分:1)
您需要在MVC中加入一个安全层,以便定义谁可以访问您API的特定资源。
最简单的方法是在URL中要求一个关键参数,该关键参数需要匹配您在服务器端预定义的密钥,但请注意,尽管它会阻止随机用户更新您的数据,但它可能不会适用于您希望为您的应用程序实现的安全级别。
答案 1 :(得分:1)
答案 2 :(得分:1)
你在这里遇到了很多问题:
首先,您需要知道谁在执行操作,然后您需要决定是否允许他们这样做。
首先,您需要一个向客户端发出会话ID的登录系统(通常通过cookie)。然后,您可以使用服务器上的会话ID来查找用户是谁,并检查是否允许他们执行删除操作。这通常通过向用户授予角色然后允许角色执行某些操作来处理
顺便说一下,GET
请求用于不修改服务器状态的请求,可以重复,没有副作用。 POST
,(或PUT
/ DELETE
)应用于任何进行更改的操作。浏览器不会在没有明确提示用户的情况下发送两次POST。