PHP 필터

PHPz
풀어 주다: 2024-08-29 13:03:46
원래의
704명이 탐색했습니다.

필터 기능이 있는 언어는 거의 없습니다. 필터는 프로그래밍 언어의 부가 가치 기능 중 하나입니다. 이는 처리하기 전에 데이터나 문자열을 필터링하는 데 도움이 됩니다. 시스템의 일부 취약점 문제를 방지하기 위해 이를 사용해야 할 때입니다. PHP 필터를 사용하여 외부 입력을 검증하거나 정리할 수 있습니다. PHP 필터는 코딩하는 동안 사용할 수 있는 다양한 기능과 기능을 갖춘 확장입니다. 예를 들어 양식에서 클라이언트 입력을 이메일 ID로 가져오는 경우 데이터베이스 관련 작업 전에 이를 검증하거나 정리해야 합니다. 코더 또는 개발자로서 우리는 비즈니스 요구 사항 및 요구 사항에 따라 PHP에서 이러한 필터를 사용해야 합니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

삭제 및 필터는 웹 애플리케이션 환경에서 가장 일반적인 작업입니다. 기본 구문은 다음과 같습니다.

filter_var(variable, filter, options)
로그인 후 복사

이 함수 filter_var는 3개의 매개변수를 사용합니다. 마지막 2개의 매개변수, 필터 및 옵션은 선택사항입니다. 첫 번째는 변수 또는 식별자 자체입니다. 이것이 우리가 필터링하려는 것이고, 두 번째는 우리가 하려는 것입니다(이 경우 PHP에서 사용 가능한 옵션의 ID를 전달합니다). 마지막은 필터 관련 옵션입니다. 퀴즈 예를 통해 동일한 내용을 이해해 봅시다:

코드:

<?php
$int_val = 200;
if(filter_var($int_val, FILTER_VALIDATE_INT)){
echo "The <b>$int_val</b> is a valid one."; // valid
} else{
echo "The <b>$int_val</b> not a valid input as an integer"; // invalid
}
?>
로그인 후 복사

위의 예에서는 필터를 사용하여 $int_val 변수에 정수 값이 있는지 확인하고 있습니다. 따라서 동일한 결과는 다음과 같습니다.

출력:

PHP 필터

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

많은 PHP 웹 애플리케이션은 클라이언트측에서 외부 입력을 받습니다. 사용자가 모든 데이터를 올바르게 입력할 것이라고 기대할 수 없으므로 처리하기 전에 사용자 입력을 정리하는 것이 아이디어입니다. 외부 사용자나 시스템 입력 또는 데이터는 심각한 보안 문제로 이어질 수 있습니다.

여기에서 필터링하여 다음과 같은 다양한 외부 소스에서 입력된 데이터를 정리할 수 있습니다.

  • 양식에서 직접 클라이언트 사용자 입력
  • 쿠키 데이터
  • 웹 서비스의 데이터
  • 서버변수 데이터
  • 데이터베이스 쿼리 결과

PHP 필터와 살균제를 함께 사용하면 입력이 유효한지 확인할 수 있습니다. 유효한 입력이 아닌 경우 이 경우 해당 입력을 삭제하여 유효한 입력을 만들 수 있습니다. 다음 예제 섹션에서는 이와 관련된 다양한 예제를 논의하겠습니다.

PHP 필터의 예

PHP에는 다양한 유형의 필터가 있습니다. filter_list() 함수를 사용하여 해당 목록을 확인할 수 있습니다. 이 기능은 URL, 문자열, 숫자, IP 주소 등을 필터링합니다.

예시 #1

이번 섹션에서는 다양한 필터 예제 프로그램을 개별적으로 살펴보겠습니다.

문자열 삭제

문자열이 유효한지 확인하려면

코드:

<?php
$comment = "Hello word";
if(filter_var($comment, FILTER_SANITIZE_STRING)){
echo "The <b>$comment</b> is a valid one."; // valid
} else{
echo "The <b>$comment</b> not a valid input"; // invalid
}
?>
로그인 후 복사

위의 예에서는 유효한 문자열을 볼 수 있습니다. 이것이 유효한 것을 제공하는 이유입니다.

출력:

PHP 필터

삭제된 문자열을 출력으로 가져오기

<?php
$comment = "<i>Hello word</i>";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "<br>"; // for new line
echo "After sanitizing: ". $comment;
?>
로그인 후 복사

두 가지 다른 출력이 있는 것을 볼 수 있습니다. 살균 전과 후의 출력이 다른 것을 볼 수 있습니다. 정리 후 PHP 필터 기능에 의해 HTML 태그가 제거되었습니다.

출력:

PHP 필터

예시 #2

IP 주소 확인

PHP 필터 기능이 이 작업을 수행할 수 있습니다. 예시를 살펴보겠습니다.

코드:

<?php
$ip_address = "172.16.254.1:40";
if(filter_var($ip_address, FILTER_VALIDATE_IP)){
echo "The <b>$ip_address</b> is a valid one."; // valid
} else{
echo "The <b>$ip_address</b> is not a valid input"; // invalid
}
?>
로그인 후 복사

출력:

PHP 필터

예시 #3

이메일 주소 삭제 및 유효성 검사

코드:

<?php
$email_address = "someone@@testmail.com";
code>
echo "Before Sanitizing: " . $email_address ."<br>";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){
echo "The <b>$email_address</b> is a valid one."; // valid
} else{
echo "The <b>$email_address</b> not a valid input"; // invalid
}
echo "<br>";
echo "After Sanitizing: " .  filter_var($email_address, FILTER_SANITIZE_EMAIL);
?>
로그인 후 복사

위 예에서는 필터 기능을 사용하여 이 출력을 얻었으므로 잘못된 이메일 ID 값이 있습니다. 하지만 소독하는 순간 정확한 이메일이 옵니다.

출력:

PHP 필터

코드:

<?php
$email_address = "[email protected]";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){
echo "The <b>$email_address</b> is a valid one."; // valid
} else{
echo "The <b>$email_address</b> not a valid input"; // invalid
}
?>
로그인 후 복사

위 PHP 코드 예시에서는 이메일이 유효한지 확인합니다.

출력:

PHP 필터

예시 #4

URL 정리 및 유효성 검사

이 예에서는 입력 URL이 유효한지 확인합니다. 유효한 URL이 아닌 경우 해당 URL을 삭제하여 수정합니다.

코드:

<?php
$URL = "https://www.educba.com/��courses�";
echo "Before Sanitizing: " . $URL ."<br>";
if(filter_var($URL, FILTER_VALIDATE_URL)){
echo "The <b>$URL</b> is a valid one."; // valid
} else{
echo "The <b>$URL</b> is not a valid input"; // invalid
}
echo "<br>";
echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL);
?>
로그인 후 복사

출력:

PHP 필터

結論

ユーザー入力を検証またはサニタイズするには、PHP フィルターを使用する必要があります。このようにして、脆弱なユーザー入力を制限できます。ユーザー入力と値を検証するために、さまざまな PHP フィルター関数を使用できます。サニタイズを使用して値 (ユーザー入力または直接割り当てられた値) をクリーンアップすることもできます。データ処理に Cookie データを使用する前に、必ず PHP サニタイザーを使用する必要があります。

위 내용은 PHP 필터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿