Php Symfony安全-循环中的删除按钮
我想知道我的应用程序的安全性。我只是使用细枝循环来显示数据库中的所有记录。当我创建单独的站点来显示详细信息时,一切都正常,并且有按钮来删除这个东西。这种情况通常发生在删除方法中,某些人只能显示自己的详细信息。但我想有一个按钮来删除基本视图中的特定记录,其中每个记录都显示在项目标题旁边Php Symfony安全-循环中的删除按钮,php,ajax,symfony,security,button,Php,Ajax,Symfony,Security,Button,我想知道我的应用程序的安全性。我只是使用细枝循环来显示数据库中的所有记录。当我创建单独的站点来显示详细信息时,一切都正常,并且有按钮来删除这个东西。这种情况通常发生在删除方法中,某些人只能显示自己的详细信息。但我想有一个按钮来删除基本视图中的特定记录,其中每个记录都显示在项目标题旁边 我无法通过CreateFormBuilder执行此操作,因为我无法从表单发送项目的当前id(或者我不知道如何执行此操作)。但它安全吗?每个人都可以更改按钮的id参数并删除其他记录 我可以使用AJAX和twig中的简
祝你今天愉快 这实际上可以归结为您想要构建什么样的应用程序:
- 更传统的应用程序-具有完整的页面刷新/导航周期
- 基于AJAX的-具有对服务器的各种异步调用
id
为整数的情况下尤为重要,这是可预测的
所以,首先,确保您的路由受到匿名用户的保护,其次,确保您设置了允许/拒绝用户特定操作的权限策略
大多数与权限相关的内容都可以通过实现,但是如果您确实需要进行繁重的工作,您可以求助于
希望这有帮助……保护AJAX路由的方法之一是使用JWT(json Web令牌)(请参见:)而不是随机字符串令牌。此令牌使用用户信息加密,以确保单击按钮的人可以执行某些操作(并且令牌将与请求头中的请求一起发送) 无论如何,您必须发送一些东西来标识要在数据库中删除或修改的元素的id。我想亲自实现这个JWT系统,但是你可以看到并点击这些按钮的页面的访问也必须受到保护。这样,您可以假设用户没有恶意 Theis bundle()可以帮助您非常轻松地在symfony上实现这一点(我是这个框架的新手,我在几个小时内就完成了这项工作——这只是一件事:如果您使用Apache,请不要忘记在Apache配置中允许重写,以允许symfony的.htaccess来完成他的工作,否则Apache将剥离头文件——这让我花了几个小时来找出事情不起作用的原因!)
希望这会有所帮助!@Patrick:的确,JWT非常值得你去看看你需要什么。。。