현재 위치: > 최신 기사 목록> PHP 기능 소개 —htmlspecialchars () : 문자열의 특수 문자를 탈출합니다

PHP 기능 소개 —htmlspecialchars () : 문자열의 특수 문자를 탈출합니다

M66 2025-06-05

PHP에서 HTMLSpecialchars () 함수의 기능 및 사용에 대한 자세한 설명

웹 개발 프로세스 중에 사용자가 입력 한 콘텐츠는 종종 페이지 표시 또는 데이터 상호 작용에 직접 사용됩니다. 악성 스크립트 주입과 같은 보안 문제를 방지하기 위해 개발자는 이러한 입력 데이터를 엄격히 처리해야합니다. HTMLSpecialchars () 는 PHP에서 특수 문자를 XSS (크로스 사이트 스크립팅 공격)와 같은 보안 위험을 효과적으로 방지 할 수있는 중요한 기능입니다.

함수 구문 구조

 
string htmlspecialchars(
    string $string,
    int $flags = ENT_COMPAT | ENT_HTML401,
    string $encoding = "UTF-8",
    bool $double_encode = true
)
  • $ string : 필수, 탈출하려면 문자열.
  • $ 플래그 : 선택 사항, 따옴표를 처리하는 방법을 정의하고 기본값은 ENT_COMPAT | ENT_HTML401 .
  • $ 인코딩 : 선택 사항, 문자 인코딩을 지정하고 기본적으로 UTF-8을 사용하십시오.
  • $ double_encode : 옵션, 인코딩 된 엔티티를 인코딩할지 여부를 다시 설정하면 기본값이 참입니다.

탈출 문자 유형

이 기능은 다음 특수 문자를 HTML 엔티티로 빠져냅니다.

  • & 변환 &
  • " 변환 "
  • ' 변환 ' (일부 구성)
  • << 변환합니다
  • >> 변환하십시오

이러한 탈출을 통해 악의적 인 스크립트가 브라우저에서 효과적으로 실행되는 것을 방지 할 수 있습니다.

사용의 예

예 1 : 기본 특수 문자 탈출

 
$input = '<script>alert("Hello!");</script>';
$output = htmlspecialchars($input);
echo $output;
// 산출:<script>alert("Hello!");</script>

이 예에서는 HTML 태그가 안전하게 탈출되고 브라우저는 스크립트 대신 일반 텍스트로 실행됩니다.

예제 2 : 단일 및 이중 인용문 처리

 
$input = 'I\'m "John"';
$output = htmlspecialchars($input, ENT_QUOTES);
echo $output;
// 산출:I'm "John"

ENT_QUOTES 매개 변수를 설정하면 단일 및 이중 따옴표가 모두 속성 출력과 같은 시나리오에 적합합니다.

예 3 : 문자 인코딩을 지정합니다

 
$input = '한자';
$output = htmlspecialchars($input, ENT_QUOTES, 'GBK');
echo $output;
// 산출:한자

지정된 문자 인코딩이 입력 데이터의 실제 인코딩과 일치하는 경우 중국어와 같은 다중 바이트 문자는 잘못 피지 않습니다.

예 4 : 이중 탈출은 금지됩니다

 
$input = 'special & character';
$output = htmlspecialchars($input, ENT_QUOTES, 'UTF-8', false);
echo $output;
// 산출:special & character

$ double_encode를 False 로 설정하면 탈출 된 엔티티가 다시 인코딩되는 것을 방지하고 출력 컨텐츠를 읽을 수 있습니다.

요약

htmlspecialchars ()는 페이지의 사용자 입력의 안전한 출력을 보장하기 위해 PHP가 제공하는 중요한 기능입니다. 매개 변수를 합리적으로 설정하면 다른 인코딩 및 탈출 요구 사항을 유연하게 응답하여 응용 프로그램의 보안을 효과적으로 향상시킬 수 있습니다. 처리 양식 입력 및 동적 컨텐츠 출력과 같은 시나리오에서 개발자는 잠재적 XSS 공격을 피하기 위해이 기능을 사용하는 데 우선 순위를 부여하는 것이 좋습니다.