我在Checkmarx中遇到错误。
abortJob
第 209 行的方法从元素XXX/classes/Monitoring.cls
获取用户输入。 然后,该元素的值在没有经过适当清理或验证的情况下流经代码,并最终在第 209 行的方法中用于数据库查询。 这可能会启用 SOQL 注入攻击。select
jobAbortRem
XXX/classes/Monitoring.cls
Source Destination
File XXXX/classes/Monitoring.cls XXXX/classes/Monitoring.cls
Line 212 217
Object select select
public static void abortJob() //line no. 209
{
list<CronTrigger> detailId=[select id FROM CronTrigger
where (CronJobDetail.Name='myJobName') AND NextFireTime = null]; //line 212
if (detailId.size() > 0)
{
Id jobId = [SELECT Id from CronTrigger WHERE id = :detailId].get(0).Id; //and line 217
System.abortJob(jobId);
Monitoring.scheduleJob();
}
}
帮助我解决这个问题,我怎样才能通过Checkmarx审查。
谢谢