当前位置: 首页 > 知识库问答 >
问题:

如何消毒和验证用户输入以通过Checkmarx扫描

施念
2023-03-14
@GET
@Path("/{x}")
public Response doSomething(@PathParam("x") String x) {
    String y = myService.process(x);
    return Response.status(OK).entity(y).build();
}
@GET
@Path("/{x}")
public Response doSomething(@PathParam("x") String x) {
    if (StringUtils.trimToNull(x) == null || x.length() > 100) { 
        throw new RuntimeException(); 
    }
    x = x.replace("'", "").replace("`", "").replace("\\", "").replace("\"", "")
    String y = myService.process(x);
    y = y.replace("'", "").replace("`", "").replace("\\", "").replace("\"", "")
    return Response.status(OK).entity(y).build();
}

共有1个答案

汪胤
2023-03-14

spring-web中的HtmlUtils完成了以下工作:

htmlutils.htmlescape(x)

Maven依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.1.7.RELEASE</version>
</dependency>
 类似资料:
  • 在Checkmarx扫描中,我收到了易受攻击的例外, 获取dr元素的用户输入。然后,此元素的值在没有经过适当清理或验证的情况下流经代码,并最终在方法中显示给用户

  • 我在基于Struts 1.3的web项目上启动了checkmarx,它返回以下错误: 方法在获取表单元素的用户输入。然后,该元素的值在没有经过适当清理或验证的情况下流经代码,并最终在方法%中显示给用户 如何正确消毒或验证以满足检查玛斯的要求?

  • 我很难想出如何正确使用扫描仪来验证用户输入。例如,程序需要用户输入int,用户只能输入正数,如果用户输入“apple”、“delicious apple”或负数,问题将显示错误消息。我尝试了下面的代码,然后我发现了一个令人不安的问题,“那不是一个数字!”我不知道是什么引起了这些问题。。。。 我在“number=sc.nextInt()”下面加了一行代码,意外地解决了这个问题,现在我的代码变成: 这

  • 首先为标题感到抱歉,想不出别的了。我目前正在完成一个关于JetBrains Hyperskill的项目,该项目是一个单位转换器,用户可以在其中转换重量、长度和温度单位。我几乎完成的项目,转换工作很好,但我有一个问题与用户输入。 用户输入由以下部分组成: 因此,用户可以输入如下内容: null null -要转换的数量 -这应该是像“摄氏”和“摄氏度”这样的输入 -随机单词 -这也应该读取输入,如“

  • 从指定范围(0,20)内且为int的用户处获取有效整数的最佳方法是什么。如果他们输入了无效的整数打印输出错误。 我在想这样的事情: 这是正确的还是有更好的方法?