CWE-89: неправильная нейтрализация специальных элементов, используемых в команде SQL («SQL-инъекция») - PullRequest
0 голосов
/ 26 декабря 2018

Я получаю следующее предупреждение:

CWE-89: неправильная нейтрализация специальных элементов, используемых в исключении команды SQL («SQL-инъекция») в insertCount = aBatchPstmt.executeBatch ();Инъекции SQL можно предотвратить с помощью параметризованного запроса

Я считаю, что выполнил рекомендацию, но все еще вижу то же сообщение.Как мне это исправить?

    int[] insertCount = null;
    if (stmtLogList.size() > 0) {
        Connection dbConnection = getDBConnection();
        PreparedStatement aBatchPstmt = null;
        try {

            String anInsertQuery = "INSERT INTO " + getDBName() + ".dbo."
                    + "statementGenerationlog  (CountryCode,CIFNumber,FileName,ZipFilename,Status,BatchRunDate,logDesc,FileType) values (?,?,?,?,?,?,?,?)";

            aBatchPstmt = dbConnection.prepareStatement(anInsertQuery);
            for (StatementGenerationLogBean aLogDetails : stmtLogList) {
                aBatchPstmt.setString(1, aLogDetails.getCountryCode());
                aBatchPstmt.setString(2, aLogDetails.getCifNumber());
                aBatchPstmt.setString(3, aLogDetails.getFileName());
                aBatchPstmt.setString(4, aLogDetails.getZipFileName());
                aBatchPstmt.setInt(5, aLogDetails.getStatus());
                aBatchPstmt.setString(6, aLogDetails.getBatchRunDate());
                aBatchPstmt.setString(7, aLogDetails.getLogDesc());
                aBatchPstmt.setString(8, aLogDetails.getFileType());
                aBatchPstmt.addBatch();
            }
            insertCount = aBatchPstmt.executeBatch();

        } finally {
            closeDB(dbConnection);
            closePreparedStatement(aBatchPstmt);
        }
    }
    return insertCount;

}
...