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

PHP filter_input() 함수 완벽 가이드 – 문법, 매개변수, 활용 예제

PHP의 filter_input() 함수는 외부에서 들어오는 변수(예: GET, POST 등)를 이름으로 가져와, 지정된 필터를 통해 검증·정제(sanitizing)하는 데 사용됩니다. 사용자 입력을 안전하게 처리해야 하는 웹 개발 환경에서 SQL 인젝션이나 XSS 같은 보안 취약점을 방지하는 기본적인 도구로 활용됩니다.

문법(Syntax)

filter_input(type, var, filtername, options)

매개변수(Parameters)

  • type − 검사할 입력의 종류를 나타내며, 다음 다섯 가지 상수 중 하나를 사용합니다.
    INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV

  • var − 필터링할 대상 변수의 이름입니다.

  • filtername − 적용할 필터의 이름 또는 필터 ID입니다. 생략하면 기본값인 FILTER_DEFAULT가 사용됩니다.

  • options − 필터에 적용할 추가 옵션이나 플래그를 연관 배열 형태로 지정합니다. 이 매개변수는 선택 사항입니다.

반환 값(Return)

filter_input() 함수는 다음과 같은 값을 반환합니다.

  • 성공 시: 필터링된 변수의 값을 반환합니다.

  • 실패 시: false를 반환합니다.

  • 변수가 설정되지 않은 경우: null을 반환합니다.

예제(Example)

아래 예제는 POST 방식으로 전송된 'email' 값이 유효한 이메일 형식인지 FILTER_VALIDATE_EMAIL 필터를 사용해 검사합니다.

<?php
    if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) {
        echo "E-Mail isn't valid!";
    } else {
        echo "E-Mail is valid!";
    }
?>

POST 요청으로 전달된 email 값이 올바른 이메일 형식이 아니라면 조건문 안의 코드가 실행됩니다.

출력(Output)

유효하지 않은 이메일이 전송된 경우의 출력 결과는 다음과 같습니다.

E-Mail isn't valid!