Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP FILTER_SANITIZE_MAGIC_QUOTES 상수 이해하기

FILTER_SANITIZE_MAGIC_QUOTES 상수는 문자열에 addslashes() 함수를 적용하는 역할을 합니다. 이 필터는 미리 정의된 특정 문자 앞에 백슬래시(\)를 추가하는데, 대상 문자는 다음과 같습니다.

  • 작은따옴표 (')
  • 큰따옴표 (")
  • 백슬래시 (\)
  • NULL

이러한 기능은 주로 SQL 쿼리 등에서 특수 문자로 인해 발생할 수 있는 오류나 문법 충돌을 방지하기 위해 사용되었습니다.

반환 값

filter_var() 함수와 함께 사용하면, 필터링된 결과 문자열이 반환됩니다. 단, FILTER_SANITIZE_MAGIC_QUOTES 상수 자체는 별도의 값을 반환하지 않습니다.

사용 예제

<?php
    $var = "Here's the string!!";
    var_dump(filter_var($var, FILTER_SANITIZE_MAGIC_QUOTES));
?>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

string(20) "Here\'s the string!!"

출력 결과에서 확인할 수 있듯이, 작은따옴표(') 앞에 백슬래시(\)가 자동으로 추가된 것을 볼 수 있습니다.

참고 사항

FILTER_SANITIZE_MAGIC_QUOTES 상수는 PHP 7.4부터 지원 중단(deprecated)되었으며, PHP 8.0에서는 완전히 제거되었습니다. 최신 PHP 버전에서는 이 필터 대신 addslashes() 함수나 PDO의 준비된 문(Prepared Statements)을 사용하는 것이 권장됩니다.