>백엔드 개발 >PHP 문제 >PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요?

PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요?

慕斯
慕斯원래의
2021-05-28 16:32:482383검색

이전 기사에서는 "PHP로 전자 메일 프로그램 파일을 작성하는 방법은 무엇입니까?"에 대해 소개했습니다. 》, 이 기사에서는 계속해서 PHP 필터가 무엇인지 소개합니다. 필터에는 어떤 종류가 있나요? 함께 가자!

PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요?

PHP 필터란 무엇인가요?

  • PHP 필터는 안전하지 않은 소스의 데이터를 검증하고 필터링하는 데 사용됩니다.

  • 사용자 입력 또는 사용자 정의 데이터를 테스트, 검증 및 필터링하는 것은 모든 웹 애플리케이션의 중요한 부분입니다.

  • PHP용 필터 확장은 데이터 필터링을 더 쉽고 빠르게 만들기 위해 설계되었습니다.

  • PHP 필터는 사용자 입력과 같은 비보안 소스의 데이터를 검증하고 필터링하는 데 사용됩니다.

필터를 사용하는 이유는 무엇인가요?

거의 모든 웹 애플리케이션은 외부 입력에 의존합니다. 이 데이터는 일반적으로 사용자 또는 기타 애플리케이션(예: 웹 서비스)에서 제공됩니다. 필터를 사용하면 애플리케이션이 올바른 입력 유형을 얻도록 할 수 있습니다.

외부 데이터는 항상 필터링해야 합니다!

입력 필터링은 가장 중요한 애플리케이션 보안 주제 중 하나입니다.

외부 데이터란 무엇인가요?

양식에서 데이터 입력

  • 쿠키

  • 웹 서비스 데이터

  • 서버 변수

  • 데이터베이스 쿼리 결과

  • 함수 및 필터

필터하려면 변수를 사용하려면 다음 필터 함수 중 하나를 사용하세요.

  • filter_var() - 지정된 필터로 단일 변수 필터링

  • filter_var_array() - 동일하거나 다른 필터로 필터링 filter_input_array - 여러 입력 변수를 가져와 필터링 동일하거나 다른 필터 사용

  • 아래 예에서는 filter_var() 함수를 사용하여 정수를 확인합니다.

    <?php
    $int = 123;
    if(!filter_var($int, FILTER_VALIDATE_INT))
    {
    echo("不是一个合法的整数");
    }
    else
    {
    echo("是个合法的整数");
    }
    ?>

    코드 실행 결과는 다음과 같습니다.

  • 검증 및 삭제 ∎ 두 가지 유형의 필터가 있습니다.

validating 필터 :

PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요? 사용자 입력을 검증하는 데 사용됩니다.

엄격한 서식 규칙 (예 : URL 또는 이메일 유효성 검증) 성공하면 예상 유형, 실패하면 FALSE를 반환합니다.


    삭제 필터:

  • 문자열에서 지정된 문자를 허용하거나 허용하지 않는 데 사용됩니다.


  • 데이터 형식 규칙 없음


항상 반환 문자열


옵션 및 플래그 옵션과 플래그는 지정된 필터에 추가 필터링 옵션을 추가하는 데 사용됩니다.

  • 필터마다 옵션과 플래그가 다릅니다.


  • 아래 예에서는 "min_range" 및 "max_range" 옵션과 함께 filter_var()를 사용하여 정수의 유효성을 검사합니다.

  • <?php
    $var=300;
    $int_options = array(
    "options"=>array
    (
    "min_range"=>0,
    "max_range"=>256
    )
    );
    if(!filter_var($var, FILTER_VALIDATE_INT, $int_options))
    {
    echo("不是一个合法的整数");
    }
    else
    {
    echo("是个合法的整数");
    }
    ?>
  • 위 코드와 마찬가지로 옵션은 " options " 관련 배열에 있습니다. 플래그를 사용하는 경우 배열에 있을 필요는 없습니다.


    정수는 "300"이므로 지정된 범위에 속하지 않으므로 위 코드의 출력은

  • 코드 실행 결과는 다음과 같습니다.

  • 여러 입력 필터링

양식은 일반적으로 여러 입력 필드 구성으로 구성됩니다. filter_var 또는 filter_input 함수에 대한 반복 호출을 방지하려면 filter_var_array 또는 filter_input_array 함수를 사용할 수 있습니다.

이 예에서는 filter_input_array() 함수를 사용하여 세 개의 GET 변수를 필터링합니다. 수신된 GET 변수는 이름, 나이, 이메일 주소입니다:

<?php
$filters = array
(
"name" => array
(
"filter"=>FILTER_SANITIZE_STRING
),
"age" => array
(
"filter"=>FILTER_VALIDATE_INT,
"options"=>array
(
"min_range"=>1,
"max_range"=>120
)
),
"email"=> FILTER_VALIDATE_EMAIL
);
$result = filter_input_array(INPUT_GET, $filters);
if (!$result["age"])
{
echo("年龄必须在 1 到 120 之间。<br>");
}
elseif(!$result["email"])
{
echo("E-Mail 不合法<br>");
}
else
{
echo("输入正确");
}
?>

결과는 다음과 같습니다:


PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요?

예제 설명:

위에 세 가지 예가 있습니다. "GET" 메소드에 의해 전달된 입력 변수(이름, 나이 및 이메일) 전달:

입력 변수의 이름과 지정된 입력 변수에 대한 필터를 포함하는 배열을 설정합니다.

filter_input_array() 함수를 호출하고, 매개변수에는 GET 입력 변수가 포함되며 방금 set

배열은 $result 변수의 "age" 및 "email" 변수에 잘못된 입력이 있는지 감지합니다. (잘못된 입력이 있는 경우 filter_input_array() 함수 사용 후 입력 변수는 FALSE입니다.)

PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요?filter_input_array() 함수의 두 번째 매개 변수는 배열이거나 단일 필터의 ID일 수 있습니다.

매개변수가 단일 필터의 ID인 경우 지정된 필터는 입력 배열의 모든 값을 필터링합니다.

매개변수가 배열인 경우 배열은 다음 규칙을 따라야 합니다.

연관 배열이어야 하며, 여기에 포함된 입력 변수는 배열의 키입니다(예: "age" 입력 변수).

이 배열 값은 필터의 ID이거나 필터, 플래그 및 옵션을 지정하는 배열이어야 합니다

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 필터란 무엇입니까? 필터에는 어떤 종류가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.