Filter Sanitize filters

sanitization 필터 목록

ID Name Flags 설명
FILTER_SANITIZE_EMAIL "email"   문자, 숫자 및 !#$%&'*+-=?^_`{|}~@.[]를 제외한 모든 문자를 제거합니다.
FILTER_SANITIZE_ENCODED "encoded" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH URL 인코딩 문자열, 선택적으로 특수 문자를 제거하거나 인코딩합니다.
FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes"   addslashes()를 적용합니다. (PHP 7.3.0부터 DEPRECATED, PHP 8.0.0부터 REMOVED, 대신 FILTER_SANITIZE_ADD_SLASHES를 사용하세요.)
FILTER_SANITIZE_ADD_SLASHES "add_slashes"   addslashes()를 적용합니다. (PHP 7.3.0부터 사용 가능)
FILTER_SANITIZE_NUMBER_FLOAT "number_float" FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC 숫자, +- 및 선택적으로 .,eE를 제외한 모든 문자를 제거합니다.
FILTER_SANITIZE_NUMBER_INT "number_int"   숫자, 더하기 및 빼기 기호를 제외한 모든 문자를 제거합니다.
FILTER_SANITIZE_SPECIAL_CHARS "special_chars" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_HIGH HTML 인코딩 '"<>& 및 ASCII 값이 32 미만인 문자는 선택적으로 다른 특수 문자를 제거하거나 인코딩합니다.
FILTER_SANITIZE_FULL_SPECIAL_CHARS "full_special_chars" FILTER_FLAG_NO_ENCODE_QUOTES, ENT_QUOTES 세트로 htmlspecialchars()를 호출하는 것과 같습니다. FILTER_FLAG_NO_ENCODE_QUOTES를 설정하여 따옴표 인코딩을 비활성화할 수 있습니다. htmlspecialchars()와 마찬가지로 이 필터는 default_charset을 인식하고 현재 문자 집합에서 잘못된 문자를 구성하는 바이트 시퀀스가 ​​감지되면 전체 문자열이 거부되어 길이가 0인 문자열이 됩니다. 이 필터를 기본 필터로 사용하는 경우 기본 플래그를 0으로 설정하는 것에 대한 아래 경고를 참조하십시오.
FILTER_SANITIZE_STRING "string" FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP 태그를 제거하고 큰따옴표와 작은따옴표를 HTML로 인코딩하고 선택적으로 특수 문자를 제거하거나 인코딩합니다. FILTER_FLAG_NO_ENCODE_QUOTES를 설정하여 따옴표 인코딩을 비활성화할 수 있습니다. (PHP 8.1.0부터 더 이상 사용되지 않으므로 대신 htmlspecialchars()를 사용하십시오.)
FILTER_SANITIZE_STRIPPED "stripped"   "문자열" 필터의 별칭입니다. (PHP 8.1.0부터 더 이상 사용되지 않으므로 대신 htmlspecialchars()를 사용하십시오.)
FILTER_SANITIZE_URL "url"   문자, 숫자 및 $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=를 제외한 모든 문자를 제거합니다.
FILTER_UNSAFE_RAW "unsafe_raw" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP 아무 것도 하지 않고 선택적으로 특수 문자를 제거하거나 인코딩합니다. 이 필터의 별칭도 FILTER_DEFAULT입니다.

경고 ini 파일이나 웹 서버 구성을 통해 이러한 필터 중 하나를 기본 필터로 사용할 때 기본 플래그는 FILTER_FLAG_NO_ENCODE_QUOTES로 설정됩니다. 기본적으로 따옴표를 인코딩하려면 filter.default_flags를 0으로 명시적으로 설정해야 합니다. 이와 같이:

예제 #1 htmlspecialchars처럼 작동하도록 기본 필터 구성

filter.default = full_special_chars
filter.default_flags = 0
                  

변경 로그

버전 설명
8.1.0 FILTER_SANITIZE_STRINGFILTER_SANITIZE_STRIPPED는 더 이상 사용되지 않습니다.
8.0.0 FILTER_SANITIZE_MAGIC_QUOTES가 제거되었습니다.
7.3.0 FILTER_SANITIZE_MAGIC_QUOTES 대신 FILTER_SANITIZE_ADD_SLASHES가 추가되었습니다.
7.3.0 FILTER_SANITIZE_MAGIC_QUOTES는 더 이상 사용되지 않습니다.