phpsafe 𝕏 GitHub
공식 CA 421DTkQ3TSG3n7F9SkNZj9NxvdFGbypwkctPd2uupump 이 주소만 공식 주소입니다.

변수로 만든 include 경로

위험도: 중간 CWE-98 OWASP A03:2021 Injection rule: include_var

왜 위험한가요

변수로 만든 include 경로는 그 변수에 사용자 입력이 절대 들어가지 않을 때만 안전합니다. 위쪽 코드에서 요청 값이 흘러드는 경우가 많으니 꼭 확인하세요.

✕ 취약한 코드
include $template;
✓ 안전한 코드
$allowed = ['list', 'detail'];
if (!in_array($template, $allowed, true)) {
    $template = 'list';
}
include __DIR__ . '/templates/' . $template . '.php';

해결 방법

변수에 정해진 파일명만 들어가는지 확인하세요. __DIR__와 고정 경로를 쓰는 게 좋습니다.

내 코드 검사하기

파일을 붙여넣으면 이 규칙에 걸리는 줄을 모두 찾아드립니다.

내 코드 검사하기 →