FILTER_SANITIZE_STRING 및 FILTER_SANITIZE_STRIPPED는 이전에 입력 문자열에서 잠재적인 XSS 취약점을 제거하는 데 사용되었습니다. 그러나 이러한 필터는 혼란스럽고 직관적이지 않은 동작을 나타냈습니다. FILTER_SANITIZE_STRING이 '<' 사이의 모든 문자를 제거했습니다. 문자열의 끝 부분을 제거하고 NUL 바이트를 제거하고 작은따옴표와 큰따옴표를 인코딩했습니다.
PHP 커뮤니티는 개발자가 의도한 용도를 종종 오해함으로써 이러한 필터가 해결한 것보다 더 많은 혼란을 야기한다고 판단했습니다. 입력 삭제는 FILTER_UNSAFE_RAW와 같은 다른 필터에 의해 이미 적절하게 처리되었습니다.
교체 옵션이를 더 이상 사용되지 않는 필터로 대체할 수 있는 몇 가지 옵션이 있습니다. 필터:
FILTER_UNSAFE_RAW:
이 기본 문자열 필터는 필터링을 수행하지 않습니다. 수정 없이 원시 문자열 값을 원하는 경우 이 기능을 사용하십시오.function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], [''', '"'], $str); }위 내용은 PHP의 FILTER_SANITIZE_STRING 지원 중단: 최상의 교체 옵션은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!