网络应用:在隐藏字段中存储ID是否安全?

Jie*_*eng 6 php authorization web-applications

我只是想到了这个想法,但我不知道我是否很慢.

通常,我将我正在编辑的项目的ID存储在隐藏字段中.然后在后端(我使用PHP/Zend Framework btw),我得到它来确定哪个项目被编辑.但后来我想,更安全的东西,例如.编辑个人资料,用户可以以某种方式编辑隐藏的字段吗?然后他可以编辑其他人的个人资料.我知道编辑配置文件,我可以获取会话变量的id形式,但如果我得到的东西要求我存储id在某处?

我得到了ACL(Zend_Acl)我这样做了.基本上从请求参数中获取id

$id = $req->getParam('id');
Run Code Online (Sandbox Code Playgroud)

然后检查是否允许登录用户编辑该项目.但问题是我想知道网址是否是/users/edit/11是id的地方.但不知何故,隐藏字段更改为2,请求参数是什么?

你会怎么处理这个?

Ita*_*vka 10

您必须在客户端存储某种ID - 否则您如何知道要编辑的项目?
这并不能使您免于强制检查当前用户有权编辑/查看已编辑项目的服务器.
除此之外,你为什么要关心他如何编辑项目(无论是通过合法使用网络工具,还是通过编辑隐藏/任何字段).