大神们好,我是做 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 更关键?