我如何确保传递的参数没有任何跨站点脚本内容
How can i make sure that passing parameters don't have any cross site scripting contents
我正在使用 Spring 创建 Rest Web 服务并将参数传递给来自模型 class 的方法。
我的输入参数是
{
"user_id": 23,
"user_email_id": "q@q.c",
"user_password": "fdsdsdf",
"firstname": "<script>window.alert(‘surprise!’);</script>",
"lastname": "kdfgkdf",
"mobile_number": "1414141414",
"user_status": 1,
"isdeleted": 0,
"created_by": 1,
"profile_picturename": "kfksdjfhksjd",
"address": "sfdsdfsd"
}
& 我的 ReST 控制器方法是
@RequestMapping(value = "/validate", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public Object AddUser(@Valid @RequestBody UserInputModel userInputModel, BindingResult br, HttpServletResponse response) throws Exception {
//Logic
}
这里我想确保传递的参数不包含任何 Xss 或者我如何确保 HTML 编码器适用于我的输入模型
提前致谢
使用 Hibernate Validator 的 @SafeHtml 注释:
您需要添加 jsoup 作为依赖
示例:
@Entity
public class Foo {
@SafeHtml(...)
private String firstName;
}
然后如果你验证实体,如果firstName包含xss则无效
我正在使用 Spring 创建 Rest Web 服务并将参数传递给来自模型 class 的方法。
我的输入参数是
{
"user_id": 23,
"user_email_id": "q@q.c",
"user_password": "fdsdsdf",
"firstname": "<script>window.alert(‘surprise!’);</script>",
"lastname": "kdfgkdf",
"mobile_number": "1414141414",
"user_status": 1,
"isdeleted": 0,
"created_by": 1,
"profile_picturename": "kfksdjfhksjd",
"address": "sfdsdfsd"
}
& 我的 ReST 控制器方法是
@RequestMapping(value = "/validate", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public Object AddUser(@Valid @RequestBody UserInputModel userInputModel, BindingResult br, HttpServletResponse response) throws Exception {
//Logic
}
这里我想确保传递的参数不包含任何 Xss 或者我如何确保 HTML 编码器适用于我的输入模型
提前致谢
使用 Hibernate Validator 的 @SafeHtml 注释:
您需要添加 jsoup 作为依赖
示例:
@Entity
public class Foo {
@SafeHtml(...)
private String firstName;
}
然后如果你验证实体,如果firstName包含xss则无效