HTML和其他无效输入的Java服务器端验证

HTML和其他无效输入的Java服务器端验证,java,spring-mvc,Java,Spring Mvc,如何防止用户在SpringMVC的输入类型中输入HTML或Java脚本标记?应该有一个服务器端验证。我正在从事一个有数千个JSP和控制器的项目。我该怎么做 如果您想要一个服务器端解决方案,您可以实现一个重定向过滤器,消除所有包含javascript标记和javascript代码的内容。另一种方法是检查与之关联的控制器方法中的输入值 如果您想要一个服务器端解决方案,您可以实现一个重定向过滤器,消除所有包含javascript标记和javascript代码的内容。另一种方法是检查与之关联的控制器方法

如何防止用户在SpringMVC的输入类型中输入HTML或Java脚本标记?应该有一个服务器端验证。我正在从事一个有数千个JSP和控制器的项目。我该怎么做

如果您想要一个服务器端解决方案,您可以实现一个重定向过滤器,消除所有包含javascript标记和javascript代码的内容。另一种方法是检查与之关联的控制器方法中的输入值

如果您想要一个服务器端解决方案,您可以实现一个重定向过滤器,消除所有包含javascript标记和javascript代码的内容。另一种方法是检查与之关联的控制器方法中的输入值

你可能需要重新设计一些东西。首先,您应该始终验证用户输入两次:一次是客户端,一次是服务器端

因此,您需要在JavaScript代码中验证用户输入(可能使用Regexp),并在Java代码中再次验证它


如果应用程序遵循通常的设计模式,则控制器将接收DTO作为入口点的参数。在那里,您可以使用
@Valid
注释,并在DTO的字段中添加所有必要的规则(使用
javax.validation
注释)。

您可能需要重新设计一些东西。首先,您应该始终验证用户输入两次:一次是客户端,一次是服务器端

因此,您需要在JavaScript代码中验证用户输入(可能使用Regexp),并在Java代码中再次验证它


如果应用程序遵循通常的设计模式,则控制器将接收DTO作为入口点的参数。在那里,您可以使用
@Valid
注释,并在DTO的字段上添加所有必要的规则(使用
javax.validation
注释)。

虽然可能有许多可能的答案,但其中之一是使用JSR303验证程序框架

您可以包括使用JSR303框架

第一步是对类应用不同类型的约束。比如说

示例取自:

现在,在控制器中,使用
@Valid
注释验证您的汽车对象,并传递一个
BindingResult
参数,该参数将验证此对象是否有效

@Controller
@RequestMapping("/car")
public class CarController {

    @RequestMapping(value = "/newcar", method = RequestMethod.POST)
    public String addCustomer(@Valid Car car, BindingResult result) {
        if (result.hasErrors()) {
            //car data is not valid, enter data again
            return "AddNewCar.jsp";
        } else {
            //save car logic here
            return "CarSavedSuccessfully.jsp";
        }
    }
}

虽然可能有许多可能的答案,但其中之一是使用JSR303验证器框架

您可以包括使用JSR303框架

第一步是对类应用不同类型的约束。比如说

示例取自:

现在,在控制器中,使用
@Valid
注释验证您的汽车对象,并传递一个
BindingResult
参数,该参数将验证此对象是否有效

@Controller
@RequestMapping("/car")
public class CarController {

    @RequestMapping(value = "/newcar", method = RequestMethod.POST)
    public String addCustomer(@Valid Car car, BindingResult result) {
        if (result.hasErrors()) {
            //car data is not valid, enter data again
            return "AddNewCar.jsp";
        } else {
            //save car logic here
            return "CarSavedSuccessfully.jsp";
        }
    }
}

您可以始终执行ol'
.replace(“您需要在浏览器上检查javascript代码,我们的客户端也希望在服务器端处理它。您可以始终执行ol'
.replace”(“您需要在浏览器上检查javascript代码,我们的客户端也希望在服务器端处理它。