$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
INPUT_POST:
이 매개변수는 filter_input() 함수에게 $_POST 배열에서 데이터를 가져오라고 지시합니다. $_POST는 HTTP POST 방식으로 전송된 데이터를 담고 있는 슈퍼 글로벌 변수입니다.
'name':
이 부분은 $_POST 배열에서 어떤 키의 데이터를 처리할 것인지를 지정합니다. 여기서는 'name' 키에 해당하는 데이터를 대상으로 합니다.
FILTER_SANITIZE_SPECIAL_CHARS:
이 필터는 입력 데이터에서 HTML과 XML 문서에서 사용될 수 있는 특수 문자들을 적절한 HTML 엔티티로 변환합니다. 예를 들어, <는 <로, >는 >로 변환됩니다. 이는 사용자 입력을 웹 페이지에 안전하게 출력할 수 있게 하며, 스크립트 태그 등이 실행되는 것을 방지합니다.
사용 예:
사용자가 폼을 통해 이름으로 를 입력했다고 가정하면, filter_input()을 통해 이 데이터는 <script>alert('XSS');</script>로 변환되어 $name 변수에 저장됩니다.