珠海购物网站制作,张雪峰最不建议上的专业,电子商务网站建设有哪些知识点,北京设计网站建设越权越权是非常严重的安全漏洞#xff0c;通常状态是开发人员对请求的限制逻辑不严格导致的。如果系统中有角色的概念#xff0c;越权可能出现不同角色间的越权和同角色间的越权。相同角色#xff1a;A用户#xff0c;B用户是相同的角色。A用户和B用户都可以调用 /photo/{i… 越权越权是非常严重的安全漏洞通常状态是开发人员对请求的限制逻辑不严格导致的。如果系统中有角色的概念越权可能出现不同角色间的越权和同角色间的越权。相同角色A用户B用户是相同的角色。A用户和B用户都可以调用 /photo/{id}。这个url如果在后端不判断这个phtoto的id属于那个用户的就很容易造成越权这里只要A用户登录验证通过后就可以用这个api换id来请求到B用户的照片信息这种情况下通常在后端要把id和用户id都当成查询条件去库中查询这样就能有效防止越权。其实就是加了一层过滤是谁的数据。如果数据归属权有层级交叉那将是更复杂的控制不过这些都是业务逻辑决定的。 [HttpGet(/photo/{id})]public IActionResult GetPohot(int id){//数据集全var photos new Listdynamic{new {ID1, Name第一张,UserA},new {ID2, Name第二张,UserB},new {ID3, Name第三张,UserA},new {ID4, Name第四张,UserB}};//越权//return new JsonResult(photos.SingleOrDefault(s s.ID id));//增加数据所属条件return new JsonResult(photos.SingleOrDefault(s s.ID id s.User User.Identity.Name));}
有时我们很容易忽略一些数据所有权比较上传的文件图片属于那个用户可能在表里对文件图片和用户作了绑定但当前端访问或下载这个文件图片时并没有去对文件图片所有权作个判断从而造成越权风险。不同角色A角色B角色有不同的功能很多时候不同的角色有不同的功能这些功能是通过菜单在UI上显示当不同的角登录后只能看见属于自己的功能如果不在服务端对每个api和角色加以映射判断api层的权限设定很重要就很容易造成越权虽然A角色在UI上看不到B角色的功能菜单一但A记下B角角功能的url也会很顺利的访问到B角色的功能。还有一个就是权限控制模块的处理如果多个角色都有不同的权限控制权限一定要设置好权限的范围控制权限低的不能添加或修改成权限高的用户负责后果很严重老板很生气。