初学web编程,有些问题不是很理解:假设用户已登录,然后发帖。在发帖表单中,我有一个隐藏的表单,value是当前登录用户的id,用户提交后该id将作为作者的字段写入数据库。但是,当用户将这段id改成其他用户的id,一样可以成功写入,这样帖子就变成别人发布的了。于是,我就想把当前用户的id保存在cookie里,不知道这种方法是否可行?如果按照上面的方法,假设用户修改了cookie的id,那岂不是也可以伪造他人发帖了?
2 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
做登录就别用cookie了,用session吧,cookie存在客户端,可以被任意修改,session存在服务器端,相对安全。web登录通常在用户登录后将userid写到session里面,在用户发帖提交后,直接从session取出userid存入数据库。永远不要相信用户输入的数据。
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
登录成功后多存一个$token1到cookie中,这个$token1是根据用户信息(比如帐号、密码、useragent等)生成的加密字符串之后根据cookie中的uid在数据库中查出用户生成$token2用cookie中存的登陆时生成$token1与$token2对比,如果对比相等就证明可信了。
添加回答
举报
0/150
提交
取消