删除数据库记录MVC

时间:2015-04-25 16:14:42

标签: php mysql model-view-controller

我为学习目的构建了一个MVC'框架',我正在努力解决这个问题:

我正在研究CRUD应用程序,我不知道应该如何删除数据库中的记录。现在我正在通过URL进行。

example.com/controller/delete/id这就是我从数据库中删除记录的方法。我不喜欢这种方式,因为任何人都可能无意或有意删除数据库记录。

所以我的问题是:我该如何实现这个功能?

3 个答案:

答案 0 :(得分:1)

您需要在MVC中加入一个安全层,以便定义谁可以访问您API的特定资源。

最简单的方法是在URL中要求一个关键参数,该关键参数需要匹配您在服务器端预定义的密钥,但请注意,尽管它会阻止随机用户更新您的数据,但它可能不会适用于您希望为您的应用程序实现的安全级别。

答案 1 :(得分:1)

您需要使用POST数据发送数据。

您还可以将GETCSRF令牌

一起使用

我认为两种方式都很好。

答案 2 :(得分:1)

你在这里遇到了很多问题:

首先,您需要知道谁在执行操作,然后您需要决定是否允许他们这样做。

首先,您需要一个向客户端发出会话ID的登录系统(通常通过cookie)。然后,您可以使用服务器上的会话ID来查找用户是谁,并检查是否允许他们执行删除操作。这通常通过向用户授予角色然后允许角色执行某些操作来处理

顺便说一下,GET请求用于不修改服务器状态的请求,可以重复,没有副作用。 POST,(或PUT / DELETE)应用于任何进行更改的操作。浏览器不会在没有明确提示用户的情况下发送两次POST。