최신 웹 개발 튜토리얼
 

PHP필터


데이터가 적절한 형태 인 경우 = 검증 데이터를 결정한다.

데이터를 살균 = 데이터에서 모든 잘못된 문자를 제거합니다.


PHP의 필터 확장

PHP 필터를 확인하고, 외부 입력을 살균하기 위해 사용된다.

PHP의 필터 확장은 사용자 입력을 검사하는데 필요한 많은 기능을 갖고, 데이터 확인이 쉽고 신속하게하도록 설계된다.

filter_list() 함수는 PHP 필터 확장을 제공하는 것에 나열 할 수 있습니다 :

<table>
  <tr>
    <td>Filter Name</td>
    <td>Filter ID</td>
  </tr>
  <?php
  foreach (filter_list() as $id =>$filter) {
      echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>
</table>
»실행 예

사용하는 이유 필터?

많은 웹 응용 프로그램은 외부 입력을받을 수 있습니다. 외부 입력 / 데이터가 될 수 있습니다 :

  • 양식에서 사용자 입력
  • Cookies
  • 웹 서비스 데이터
  • 서버 변수
  • 데이터베이스 쿼리 결과

당신은 항상 외부 데이터를 확인해야합니다!
잘못된 제출 된 데이터는 보안 문제를 야기하고 웹 페이지를 끊을 수있다!
PHP 필터를 사용하여 당신은 당신의 응용 프로그램이 올바른 입력을 취득하는 확신 할 수 있습니다!


PHP의 filter_var() 함수

filter_var() 함수는 유효 데이터를 모두 살균.

filter_var() 함수는 지정된 필터를 단일 가변 필터. 그것은 두 개의 데이터 조각을합니다 :

  • 검사 할 변수
  • 검사의 유형 사용하기

String를 소독

다음은 사용 filter_var() 문자열에서 모든 HTML 태그를 제거하는 기능을 :

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
»실행 예

정수의 유효성을 검사합니다

다음은 사용 filter_var() 변수 $ INT는 정수인지 확인하는 기능. $의 INT는 정수의 경우, 코드의 출력은 위의 것입니다 : "Integer is valid" . $의 INT는 정수가 아닌 경우, 출력은 다음과 같습니다 "Integer is not valid" :

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
    echo("Integer is valid");
} else {
    echo("Integer is not valid");
}
?>
»실행 예

팁 : filter_var() 0와 문제

$의 INT가 0으로 설정된 경우 위의 예에서, 함수는 위의 반환합니다 "Integer is not valid" . 이 문제를 해결하려면 다음 코드를 사용 :

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
    echo("Integer is valid");
} else {
    echo("Integer is not valid");
}
?>
»실행 예

IP 주소의 유효성을 검사합니다

다음은 사용 filter_var() 변수 $ IP가 유효한 IP 주소가 있는지 확인하는 기능 :

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
    echo("$ip is a valid IP address");
} else {
    echo("$ip is not a valid IP address");
}
?>
»실행 예

살균 및 이메일 주소의 유효성을 검사합니다

다음은 사용 filter_var() 유효한 이메일 주소 인 경우 먼저는 $ 이메일 변수에서 모든 잘못된 문자를 제거 확인 기능 :

<?php
$email = "[email protected]";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
    echo("$email is a valid email address");
} else {
    echo("$email is not a valid email address");
}
?>
»실행 예

살균과 URL의 유효성을 검사합니다

다음은 사용 filter_var() $ URL이 유효한 URL 인 경우 먼저, URL에서 모든 잘못된 문자를 제거 확인 기능 :

<?php
$url = "http://www.w3ii.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
    echo("$url is a valid URL");
} else {
    echo("$url is not a valid URL");
}
?>
»실행 예

전체 PHP 필터 참조

모든 필터 기능의 완전한 참고로, 우리의 완전한 이동 PHP 필터 참조. 옵션과 플래그를 사용할 수있는 보려면 각 필터를 확인합니다.

참조는 각 기능에 대한 간단한 설명, 사용의 예를 포함한다!