fromflaskimportrequestfromlxmlimportetree@app.route('/authenticate')defauthenticate():username=request.args['username']password=request.args['password']expression="./users/user[@name='"+username+"' and @pass='"+password+"']"tree=etree.parse('resources/users.xml')iftree.find(expression)isNone:return"Invalid credentials",401else:return"Success",200
Compliant Code Examples
fromflaskimportrequestfromlxmlimportetree@app.route('/authenticate')defauthenticate():username=request.args['username']password=request.args['password']expression="./users/user[@name=$username and @pass=$password]"tree=etree.parse('resources/users.xml')iftree.xpath(expression,username=username,password=password)isNone:return"Invalid credentials",401else:return"Success",200
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- python-flask # Rules to enforce Python flask.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다