当前位置: 代码迷 >> J2EE >> 这种业务亟需后端二次验证吗
  详细解决方案

这种业务亟需后端二次验证吗

热度:35   发布时间:2016-04-17 23:43:47.0
这种业务需要后端二次验证吗?
比如用户A,获取了他拥有的资源列表,对于该列表,能够根据id进行删除操作。那么对于提交的id,后台还是要再次验证是否属于该用户的吧。
否则如果填写任意一个别人的资源id,会不安全吧。

------解决方案--------------------
delete from table where id=xxx and userid=xxx;

这样安全,防止恶意删别人的信息。

但问题是id的索引用不上了,除非你再建立id和userid的联合索引。

所以,如果数据量在百万级及以下,可以这样操作。

如果数据量更大,最好是先按id select出来,在程序里确认一下是不是当前用户的记录,再去delete,两个操作也比上面的一个操作快,因为id的索引大大强于全表扫描。

楼主的担心是有道理的,按ID来删除信息,确实容易被冒名。尤其是如果ID的生成策略是有规律的话,很可能写个程序就把数据全删除了

------解决方案--------------------
确实是这样验证更安全,不过也要看项目,毕竟这样做麻烦,增大工作量,降低效率,更容易出bug。uuid也能在一定程度上保证安全,没那么容易试出来。
------解决方案--------------------
肯定是要验证的,这是跟权限关联的
  相关解决方案