如何在java中解决循环条件下未选中输入checkmarx的问题。

问题描述 投票:0回答:1

我得到了未选中的循环条件输入checkmarx问题。我尝试了建议的代码处理,但它对我不起作用。

Checkmarx报告的描述。

Method transformPojoCommon at line 334 of
to_web/src/com/toweb/bd/TrainCategoriesBD.java gets user input from
element TC_TRAIN_CAT_NAME . This element’s value flows through the
code without being validated, and is eventually used in a loop
condition in getParentTrainTypes at line 162 of
to_web/src/com/toweb/dao/TrainCategoriesDAO.java. This constitutes an
Unchecked Input for Loop Condition.

我尝试了以下代码。

valdiateRequestInput(ESAPI.encoder().
   canonicalize(request.getParameter(TOWebRequestConstants.TC_OBJID).trim()));

private String valdiateRequestInput(String currentPage) {
    try {
        currentPage = ESAPI.validator().getValidInput("HTTP parameter value: ", currentPage, "HTTPParameterValue", 2000, true);
    } catch (Exception e1) {
        log.error("failed to validate HTTP parameter value ", e1);
        throw new IllegalArgumentException("failed to validate HTTP parameter value "+currentPage, e1);
    }
    return currentPage;
}
java security checkmark checkmarx
1个回答
0
投票

Checkmarx报告的描述:方法转换PojoCommon在第334行...

请看一下checkmarx的报告。

谢谢您的帮助。


0
投票

我已经通过使用ESAPI.validator().getValidInteger()或ESAPI.validDouble()根据返回类型来解决这些问题。

希望这个解决方案也能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.