我正在一个高度重视安全性的项目中工作。 我的项目使用rest调用,我需要验证响应以防止xss攻击。 spring控制器中的所有方法都返回ResponseEntity。 我们在前端使用角度6 。 当Fortify完成静态代码分析时,它会要求验证响应以避免xss。
您能建议我哪种方法是最好的方法,以及如何防止xss攻击在对该页面给予响应之前。
1)在服务级别验证响应 2)在控制器级别验证响应
我是否需要在每种方法中进行操作,我不能在单个位置中进行操作吗?
如何实施?任何示例代码都会有帮助
我的示例代码
@RestController
@RequestMapping("/path")
public class MyController{
@Autowired
private IService service;
@RequestMapping(method=RequestMethod.GET,path="/search",produces="application/json")
public ResponseEntity<?> find(@PathVariable("id") @NotNull final Long id){
SomeDTO dto = null;
dto = service.findResults(id);
return new ResponseEntity<>(dto,HttpStatus.OK);
}
}
答案 0 :(得分:0)
您不需要验证响应,应该在显示时执行。有几种方法可以防止FE端出现xss。首先,如果您不将值作为html注入,如果不在fe上创建html部件并且不将其注入DOM,则Angular会在框中为我们完成此操作。