在url jsf中禁用?id =的编辑

时间:2016-03-06 22:42:41

标签: security jsf url

在写这个问题之前,对不起我的英语。我的问题是:

我在jsf中有一个Web应用程序,该应用程序有新的,编辑和删除类别,支出,预算,用户等。

当打开编辑页面时,我有这样的网址:

http://localhost:8080/Practica3/faces/usuarios/edit.xhtml?id=2

问题是如果用户将数字2更改为另一个数字,而另一个数字存在于数据库中,则该页面将id 2的数据更改为新id的数据。

问题是如果ID号X是另一个用户的数据,并且更改id的用户不在条件下查看该数据。

如何禁用编辑ID,或拒绝向其他用户显示数据?

谢谢,我希望得到回复。

2 个答案:

答案 0 :(得分:0)

如果允许当前用户编辑所请求的实体,则只需签入服务层。如果没有,则抛出一些安全例外,如有必要,可以在instance.has_changed中配置自定义错误页面。

技术问题与HTTP / JSF无关。如果你在JSF方面单独“修复”它,那么你在服务层中仍然存在一个巨大的安全漏洞,这会影响使用它的任何其他前端。前端不对服务层本身的业务限制负责。

答案 1 :(得分:0)

问题不在于停止编辑ID。这是在客户端/浏览器上,你不能阻止这个值被编辑。

您需要实施适当的访问安全控制。当您收到任何回复时,您需要检查用户是否可以执行他们指定的操作(读取,更新,删除等)以及检查以确保他们有权访问他们要执行操作的数据。

这两个主题位于OWASP Top 10

这些页面将告诉您问题所在,缓解策略以及在您的应用程序中测试的不同方法。

我也会熟悉其他十大类别(这不是一个全面的列表,但是一个很好的起点)。