PHP 고급 필터로그인

PHP 고급 필터

필터 사용 을 사용하여 숫자가 범위 내에 있는지 감지

다음 예에서는 filter_var() 함수를 사용합니다. INT형 변수가 1~200 사이인지 확인하려면:

<?php
header("Content-type:text/html;charset=utf-8");
$int = 122;
$min = 1;
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
    echo("变量值不在合法范围内");
} else {
    echo("变量值在合法范围内");
}
?>

프로그램 실행 결과:

변수 값이 법적 범위


IPv6 주소 감지

< 내에서 IPv6 주소 감지 🎜>

FILTER_VALIDATE_IP 필터는 값을 IP로 검증합니다.

다음 예에서는 filter_var() 함수를 사용하여 $ip 변수가 IPv6 주소인지 감지합니다.

프로그램 실행 결과:

2001:0db8:85a3:08d3:1319:8a2e:0370:7334는 IPv6 주소입니다


탐지 URL - QUERY_STRING(쿼리 문자열)을 포함해야 합니다.

QUERY_STRING

문자 그대로 쿼리 문자열입니다. 예, 일반 URL 웹 주소에는 xxx.asp?pn=123456이 있습니까? 숫자 뒤에 오는 것은 쿼리 문자열입니다.

다음 예에서는 filter_var() 함수를 사용하여 $url에 쿼리 문자열이 포함되어 있는지 여부를 감지합니다.

<?php
header("Content-type:text/html;charset=utf-8");
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";
if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
    echo("$ip 是一个 IPv6 地址");
} else {
    echo("$ip 不是一个 IPv6 地址");
}
?>

프로그램 실행 결과:

http://www.baidu.com은 합법적인 URL이 아닙니다

위의 URL은 예제에는 QUERY_STRING이 포함되어 있지 않으므로 실행 결과는 부정 응답입니다.


ASCII 값이 127보다 큰 문자를 제거하세요

FILTER_SANITIZE_STRING 필터는 원하지 않는 문자를 제거하거나 인코딩합니다.

다음 예에서는 filter_var() 함수를 사용하여 문자열에서 ASCII 값이 127보다 큰 문자를 제거합니다. HTML 태그도 제거할 수 있습니다.

<?php
 header("Content-type:text/html;charset=utf-8");
 $url = "http://www.baidu.com";
 
 if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
     echo("$url 是一个合法的 URL");
 } else {
     echo("$url 不是一个合法的 URL");
 }
 ?>

프로그램 실행 결과:

Hello World!


PHP 필터 참조 매뉴얼

보기도 가능합니다. 이 사이트의 PHP 필터 참조 매뉴얼을 방문하여 필터의 특정 적용을 확인하세요.

참조 매뉴얼에는 필터 매개변수에 대한 간략한 설명과 사용 예가 포함되어 있습니다!


다음 섹션
<?php header("Content-type:text/html;charset=utf-8"); $int = 122; $min = 1; $max = 200; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("变量值不在合法范围内"); } else { echo("变量值在合法范围内"); } ?>
코스웨어