현재 위치: > 최신 기사 목록> PHP 간 스크립팅 공격을 방지하고 유효한 오류 보고서 정보를 생성하는 방법

PHP 간 스크립팅 공격을 방지하고 유효한 오류 보고서 정보를 생성하는 방법

M66 2025-06-25

PHP 간 스크립팅 공격을 방지하고 유효한 오류 보고서 정보를 생성하는 방법

웹 개발에서 XSS (Cross-Site Scripting Attack)는 일반적인 보안 위협입니다. XSS는 악의적 인 스크립트 코드를 웹 페이지에 주입하여 사용자의 브라우저 제어를 공격하여 민감한 정보를 훔칩니다. 이러한 공격을 방지하기 위해 PHP 개발자는 효과적인 보안 조치를 취해야하며 동시에 디버깅 및 문제 해결 문제에 대한 적절한 오류보고 정보를 생성해야합니다. 이 기사는 XSS 공격을 방지하는 방법을 심층적으로 탐색하고 해당 오류 보고서를 생성합니다.

1. 출력 컨텐츠를 피하려면 HTMLSpecialchars () 함수를 사용하십시오.

PHP는 htmlspecialchars () 함수를 제공하여 HTML에서 특수 문자를 피할 수있어 악의적 인 코드 실행을 피할 수 있습니다. 컨텐츠를 출력하기 전에이 기능을 사용하면 XSS 공격의 위험을 크게 줄일 수 있습니다. 다음은 샘플 코드입니다.

  
$ name = $ _get [ 'name'];  
echo htmlspecialchars ($ name);  

이 예 에서이 프로그램은 $ _get hyperglobal 변수에서 매개 변수 "이름"을 가져 와서 악의적 인 HTML 또는 JavaScript 코드가 출력되는 것을 방지하기 위해 htmlspecialchars () 함수를 사용하여 탈출합니다.

2. 컨텐츠 보안 정책 (CSP)을 사용하여 HTTP 헤더 설정

CSP (Content Security Policy)는 효과적인 보안 정책입니다. CSP 헤더를 설정하면로드 할 수있는 리소스 소스를 지정하여 XSS 공격을 방지 할 수 있습니다. HTTP 헤더의 CSP 정책을 구성함으로써 개발자는 외부 악성 스크립트 주입을 방지하기 위해 웹 페이지 리소스로드를 제어 할 수 있습니다. 예는 다음과 같습니다.

  
헤더 ( "Content-Security-Policy : Default-Src 'self'");  

이 예에서 CSP 정책은 현재 도메인 이름에서만로드되도록 자원을 제한하여 외부 악성 코드의 주입을 효과적으로 방지합니다.

3. X-Content-Type-Options를 사용하여 HTTP 헤더를 설정하십시오

X-Content-Type-Options는 HTTP 헤더 옵션으로 브라우저가 MIME 유형 스니핑을 통해 웹 컨텐츠를 구문 분석하는 것을 방지합니다. X-Content-Type-Options를 NOSNIFF로 설정하면 브라우저가 서버에서 지정한 컨텐츠 유형에 따라 항상 컨텐츠를 구문 분석하여 XSS 공격의 위험을 줄일 수 있습니다. 예는 다음과 같습니다.

  
헤더 ( "X-Content-Type-Options : Nosniff");  

이 설정은 서버 응답의 컨텐츠 유형에 따라 브라우저에 컨텐츠를 엄격하게 구문 분석하므로 부적절한 스크립트 실행을 피합니다.

4. 해당 오류 보고서 정보를 생성합니다

XSS 공격을보다 효과적으로 디버그하고 문제를 해결하기 위해 코드에서 대상 오류보고 정보를 생성 할 수 있습니다. XSS 공격이 감지되면 관련 정보를 기록하고 명확한 오류보고 정보를 생성해야합니다. 예는 다음과 같습니다.

  
$ name = $ _get [ 'name'];  
if (preg_match ( "/ <script>/i", $name)) {  
    // 공격 관련 정보를 기록합니다  
    error_log("XSS공격:" . $name);  
    // 오류 메시지를 생성합니다  
    echo "发生了跨站脚本공격,악성 코드를 입력하지 마십시오!";  
    exit;  
}  

在这个示例中,preg_match()函数检查参数$name是否包含