오류 정보 노출

오류 정보 노출

설명

운영 환경에서 PHP 오류, 스택 정보, DB 오류 메시지를 사용자에게 노출하면 내부 구조와 민감 정보가 드러날 수 있습니다.

잠재적 영향

경로, 쿼리, 계정명, 내부 구현 정보가 노출되어 후속 공격에 활용될 수 있습니다.

해결 방법

운영 환경에서는 display_errors를 비활성화하고, 상세 오류는 서버 로그에만 기록합니다.

예시

변경 전

php
<?php
ini_set('display_errors', '1');
echo mysqli_error($db);

변경 후

php
<?php
ini_set('display_errors', '0');
error_log($e->getMessage());

설명:

  • 변경 전: PHP 디버그 또는 오류 세부 정보가 사용자에게 노출됩니다.
  • 변경 후: 운영 환경에서는 display_errors를 비활성화하고, 상세 오류는 서버 로그에만 기록합니다.

로그 접근을 제한하고 자격 증명 같은 비밀 값은 제외하거나 마스킹하세요.

참조