大神们好,我是做 Java Web 开发的新手,最近遇到个问题如下:
MySQL 问题,一个帖子 [tiezi],属于某个用户 [uid] 的。
那么,更新一个帖子的字段 [status],是直接
UPDATE tiezi SET status = 1 WHERE id = 1000
还是说,要加上帖子所属的用户 ID,例如
UPDATE tiezi SET status = 1 WHERE id = 1000 AND uid = 123;
后面这条 SQL 的查询效率会不会变低? id 是主键,性能应该就没影响了吧
想这么做的原因是,有一个 HTTP API 是修改帖子 status 的,uid 是调用这条 SQL 的登录用户,如果那个人的登录验证被黑客拿到了,黑客又知道了这条 HTTP API,那黑客岂不是可以修改不属于他的帖子的 status 了,所以后面加一个 uid 校验应该不亏吧。。。
老司机们觉得我这个安全性担心有没有必要?
还是说,对 HTTP API 的参数进行签名,防止篡改,比改 SQL 更关键?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.