Home  >  Article  >  Backend Development  >  在修改资料的模块中把用户 ID 放在 type="hidden" 的 input 里面是否不安全?

在修改资料的模块中把用户 ID 放在 type="hidden" 的 input 里面是否不安全?

WBOY
WBOYOriginal
2016-06-06 16:44:541107browse

这样是不是特别不安全如果不放在这里面应该放在哪里,哪些大网站在做修改或删除的时候哪些where条件都放在哪里了?

回复内容:

那你后面修改数据时是不是依赖用户这次提交的这个 id?如果我作为用户随便填一个别人的 id 提交,那他的资料是不是被我改掉了?敏感数据用 session 机制会更好一点,用户端只存一个 session id 。 我一般都是靠cookie辨认用户。。。 根本不用传。

如果你系统当前用户是谁都不知道,系统怎么调出原来的资料放到表单中供用户修改的? 这不是 id 放哪里的问题,而是后端权限处理的问题,如果后端权限处理得当,即便前端如何伪造请求也没有问题。 像这种用session 非要隐藏,那就再再写一个,两者建立一个算法关系,服务器端把算法关系做比较,然后通过在做处理,但是也是不安全的,算法过于简单,很容易被攻破,总之,不要相信客户端的一切数据源 你们怎么看 永远不要相信客户端的输入…… 1. 你打算修改当前登录用户的资料,那么用户id不需要传递,一般考虑从session中获取,登录的时候将id保存到session,编辑的时候从session读取。
2. 当前用户是管理员?管理员修改其他用户的资料?这样的话,通过hidden input传递过来的ID,需要在后端进行权限判断,判断当前用户是否有权限修改传递过来的用户id。 可以用hashids
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn