目前,api看起来像:-
@Autowired
private EmployeeService empService;
@ApiOperation(value = "adds a new Employee")
@PostMapping(value = /add)
public EmployeeDetails employeeDetails(@RequestBody @Valid @NotNull EmployeeDetails empDetails) {
empservice.addNewEmployee(empDetails);
}
员工详情:-
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Data
public class EmployeeDetails {
private Long id;
private String firstName;
private String lastName;
@Override
public String toString() {
return "EmployeeDetails{" +
"id=" + id +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
'}';
}
}
所以问题是要避免xss攻击
例如,如果它是这段代码
或
如果我们在ID的情况下给1.2,那么响应是200
我该怎么解决
您可以使用Hibernate validator中的@SafeHtml注释
@Entity
@Data
@SafeHtml //this do the trick
public class EmployeeDetails {
private Long id;
private String firstName;
private String lastName;
@Override
public String toString() {
return "EmployeeDetails{" +
"id=" + id +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
'}';
}
}
请参见以下示例:https://www.javatips.net/blog/anti-cross-site-scripting-xss-for-java-web-application
此外,还可以实现自定义过滤器来转义html的字符。参见此处:XSS保护请求正文中的Spring Boot转义字符
本文向大家介绍如何防止XSS攻击?相关面试题,主要包含被问及如何防止XSS攻击?时的应答技巧和注意事项,需要的朋友参考一下 (1) 将前端输出数据都进行转义 (2) 将输出的字符串中的\反斜杠进行转义 (3) 从url中获取的信息,防止方法是由后端获取,在前端转义后再行输出 (4) 使用cookie的HttpOnly属性,保护好cookie 详细参见:http://blog.csdn.net/fe
问题内容: 我应该怎么做才能防止Spring MVC中的XSS?现在,我只是将输出用户文本的所有位置都放入标签或函数中,但这似乎容易出错,因为我可能会错过一个位置。 有没有简单的系统方法可以防止这种情况?也许像过滤器之类的?我通过在控制器方法上指定参数来收集输入。 问题答案: 在Spring中,你可以从标记生成的JSP页面中转义html 。这为XSS攻击提供了很多途径,并且可以通过以下三种方式自动
本文向大家介绍Django如何实现防止XSS攻击,包括了Django如何实现防止XSS攻击的使用技巧和注意事项,需要的朋友参考一下 一、什么是XSS攻击 xss攻击:----->web注入 xss跨站脚本攻击(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”。 我们常常听到“注入”(Injection),如SQL
如何实现防止XSS的Java ESAPI? 除了在构建路径中添加ESAPI jar之外,还需要其他配置吗? 提前感谢您的回答。
我在Checkmarx中扫描了我的项目,它显示为一个java对象的反射XSS,该对象是下面方法中的一个参数,这是checkmarx报告的错误: 方法读取数据使用查询对象位于 /src/main/java/com/认知/hap/核心/控制器/数据控制器的第 743 行.java获取查询元素的用户输入。然后,此元素的值在未经正确清理或验证的情况经代码,并最终在方法读取数据使用QueryObject 中
我序列化一个对象并将其保存为我的硬盘上的文件。当我阅读它时,只有在某些情况下它会抛出EofException。经过几个小时的调试,我无法找到一个问题。 下面是我的代码: 问题:我的序列化对象现在被破坏了,然后它现在是垃圾吗? 因为这个对象负责呈现用户保存的UI。如果用户登录,它应该呈现以前保存的UI状态。但是,对于某些用户,文件无法反序列化。