首页 > 开发 > Python > 正文

编写用户发帖功能,如何避免伪造他人发帖的问题?

2017-09-06 19:38:42  来源:网友分享

初学web编程,有些问题不是很理解:

假设用户已登录,然后发帖。在发帖表单中,我有一个隐藏的表单,value是当前登录用户的id,用户提交后该id将作为作者的字段写入数据库。

但是,当用户将这段id改成其他用户的id,一样可以成功写入,这样帖子就变成别人发布的了。于是,我就想把当前用户的id保存在cookie里,不知道这种方法是否可行?

如果按照上面的方法,假设用户修改了cookie的id,那岂不是也可以伪造他人发帖了?

解决方案

做登录就别用cookie了,用session吧,cookie存在客户端,可以被任意修改,session存在服务器端,相对安全。
web登录通常在用户登录后将userid写到session里面,在用户发帖提交后,直接从session取出userid存入数据库。
永远不要相信用户输入的数据。