classMyClass{publicvoidparseExpressionInterface(PersonpersonObj,Stringproperty){ExpressionParserparser=newSpelExpressionParser();//Unsafe if the input is control by the user..Expressionexp=parser.parseExpression(property+" == 'Albert'");StandardEvaluationContexttestContext=newStandardEvaluationContext(personObj);booleanresult=exp.getValue(testContext,Boolean.class);}}
Compliant Code Examples
classMyClass{publicvoidparseExpressionInterface(PersonpersonObj){ExpressionParserparser=newSpelExpressionParser();// Safe: using hardcoded expression without user inputExpressionexp=parser.parseExpression("name == 'Albert'");StandardEvaluationContexttestContext=newStandardEvaluationContext(personObj);booleanresult=exp.getValue(testContext,Boolean.class);}}
シームレスな統合。 Datadog Code Security をお試しください
Datadog Code Security
このルールを試し、Datadog Code Security でコードを解析する
このルールの使用方法
1
2
rulesets:- java-security # Rules to enforce Java security.