PHP 튜토리얼

PHP 홈 PHP 소개 PHP 설치 PHP 구문 PHP 주석 PHP 변수 PHP 에코 / 인쇄 PHP 데이터 유형 PHP 문자열 PHP 숫자 PHP 수학 PHP 상수 PHP 연산자 PHP If...Else...Elseif PHP 스위치 PHP 루프 PHP 함수 PHP 배열 PHP 슈퍼글로벌 PHP 정규식

PHP 양식

PHP 양식 처리 PHP 양식 유효성 검사 PHP 양식 필요 PHP 양식 URL/이메일 PHP 양식 완성

PHP 고급

PHP 날짜 및 시간 PHP 포함 PHP 파일 처리 PHP 파일 열기/읽기 PHP 파일 생성/쓰기 PHP 파일 업로드 PHP 쿠키 PHP 세션 PHP 필터 PHP 필터 고급 PHP 콜백 함수 PHP JSON PHP 예외

PHP OOP

PHP OOP란? PHP 클래스/객체 PHP 생성자 PHP 소멸자 PHP 액세스 수정자 PHP 상속 PHP 상수 PHP 추상 클래스 PHP 인터페이스 PHP 특성 PHP 정적 메서드 PHP 정적 속성 PHP 네임스페이스 PHP 반복 가능

MySQL 데이터베이스

MySQL 데이터베이스 MySQL 연결 MySQL 생성 DB MySQL 테이블 생성 MySQL 삽입 데이터 MySQL 마지막 ID 가져오기 MySQL은 다중 삽입 MySQL 준비 MySQL 선택 데이터 MySQL 어디 MySQL 주문 기준 MySQL 데이터 삭제 MySQL 업데이트 데이터 MySQL 제한 데이터

PHP XML

PHP XML 파서 PHP SimpleXML 파서 PHP SimpleXML - 가져오기 PHP XML 국외 거주자 PHP XML DOM

PHP - AJAX

AJAX 소개 AJAX PHP AJAX 데이터베이스 AJAX XML AJAX 라이브 검색 AJAX 투표

PHP 예제

PHP 예제 PHP 컴파일러 PHP 퀴즈 PHP 연습 PHP 인증서

PHP 참조

PHP 개요 PHP 배열 PHP 캘린더 PHP 날짜 PHP 디렉토리 PHP 오류 PHP 예외 PHP 파일 시스템 PHP 필터 PHP FTP PHP JSON PHP 키워드 PHP 라이브러리 XML PHP 메일 PHP 수학 PHP 기타 PHP MySQLi PHP 네트워크 PHP 출력 제어 PHP 정규식 PHP SimpleXML PHP 스트림 PHP 문자열 PHP 변수 처리 PHP XML 파서 PHP 우편번호 PHP 시간대

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>

필터를 사용하는 이유

많은 웹 애플리케이션은 외부 입력을 받습니다. 외부 입력/데이터는 다음과 같을 수 있습니다.

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

항상 외부 데이터의 유효성을 검사해야 합니다!
유효하지 않은 제출 데이터는 보안 문제를 야기하고 웹페이지를 손상시킬 수 있습니다!
PHP 필터를 사용하면 애플리케이션이 올바른 입력을 받는지 확인할 수 있습니다!



PHP filter_var() 함수

filter_var()함수는 데이터의 유효성을 검사하고 삭제합니다.

filter_var()함수는 지정된 필터를 사용하여 단일 변수를 필터링합니다. 두 가지 데이터가 필요합니다.

  • 확인하려는 변수
  • 사용할 수표 유형

문자열 살균

다음 예제에서는 filter_var()함수를 사용하여 문자열에서 모든 HTML 태그를 제거합니다.

예시

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

정수 검증

다음 예제에서는 filter_var()함수를 사용하여 $int 변수가 정수인지 확인합니다. $int가 정수이면 아래 코드의 출력은 "정수는 유효합니다"입니다. $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으로 설정된 경우 위의 함수는 "정수가 유효하지 않습니다"를 반환합니다. 이 문제를 해결하려면 아래 코드를 사용하십시오.

예시

<?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()함수를 사용하여 먼저 $email 변수에서 모든 잘못된 문자를 제거한 다음 유효한 이메일 주소인지 확인합니다.

예시

<?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 = "https://www.w3schools.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 필터 참조로 이동하십시오. 각 필터를 확인하여 사용 가능한 옵션과 플래그를 확인하세요.

참고문헌에는 각 기능에 대한 간단한 설명과 사용 예가 포함되어 있습니다!