比如用户A,获取了他拥有的资源列表,对于该列表,能够根据id进行删除操作。那么对于提交的id,后台还是要再次验证是否属于该用户的吧。
否则如果填写任意一个别人的资源id,会不安全吧。
------解决方案--------------------
delete from table where id=xxx and userid=xxx;
这样安全,防止恶意删别人的信息。
但问题是id的索引用不上了,除非你再建立id和userid的联合索引。
所以,如果数据量在百万级及以下,可以这样操作。
如果数据量更大,最好是先按id select出来,在程序里确认一下是不是当前用户的记录,再去delete,两个操作也比上面的一个操作快,因为id的索引大大强于全表扫描。
楼主的担心是有道理的,按ID来删除信息,确实容易被冒名。尤其是如果ID的生成策略是有规律的话,很可能写个程序就把数据全删除了
------解决方案--------------------
确实是这样验证更安全,不过也要看项目,毕竟这样做麻烦,增大工作量,降低效率,更容易出bug。uuid也能在一定程度上保证安全,没那么容易试出来。
------解决方案--------------------
肯定是要验证的,这是跟权限关联的