作者:发的好地方 | 来源:互联网 | 2018-05-06 19:50
这样是不是特别不安全如果不放在这里面应该放在哪里,哪些大网站在做修改或删除的时候哪些where条件都放在哪里了?
回复内容:
那你后面修改数据时是不是依赖用户这次提交的这个 id?如果我作为用户随便填一个别人的 id 提交,那他的资料是不是被我改掉了?敏感数据用 session 机制会更好一点,用户端只存一个 session id 。
我一般都是靠COOKIE辨认用户。。。
根本不用传。
如果你系统当前用户是谁都不知道,系统怎么调出原来的资料放到表单中供用户修改的?
这不是 id 放哪里的问题,而是后端权限处理的问题,如果后端权限处理得当,即便前端如何伪造请求也没有问题。
像这种用session 非要隐藏,那就再再写一个,两者建立一个算法关系,服务器端把算法关系做比较,然后通过在做处理,但是也是不安全的,算法过于简单,很容易被攻破,总之,不要相信客户端的一切数据源 你们怎么看
永远不要相信客户端的输入……
1. 你打算修改当前登录用户的资料,那么用户id不需要传递,一般考虑从session中获取,登录的时候将id保存到session,编辑的时候从session读取。
2. 当前用户是管理员?管理员修改其他用户的资料?这样的话,通过hidden input传递过来的ID,需要在后端进行权限判断,判断当前用户是否有权限修改传递过来的用户id。
可以用hashids