>  기사  >  백엔드 개발  >  여러 사용자가 입력한 데이터를 필터링하려면 PHP의 filter_var_array() 함수를 사용하세요.

여러 사용자가 입력한 데이터를 필터링하려면 PHP의 filter_var_array() 함수를 사용하세요.

WBOY
WBOY원래의
2023-11-03 13:04:54935검색

여러 사용자가 입력한 데이터를 필터링하려면 PHP의 filter_var_array() 함수를 사용하세요.

웹 애플리케이션의 광범위한 사용으로 인해 보안 문제가 점점 더 주목을 받고 있습니다. 중요한 보안 조치 중 하나는 사용자가 입력한 데이터를 필터링하고 확인하는 것입니다. PHP는 일련의 필터 함수를 제공하며 그 중 매우 실용적인 함수인 filter_var_array()가 있습니다. 이 기능은 동시에 여러 데이터를 필터링할 수 있으며 매우 효율적이고 편리한 도구입니다. 이 문서에서는 이 함수의 사용법을 자세히 소개하고 구체적인 코드 예제를 제공합니다.

  1. filter_var_array() 함수의 기본 사용법

filter_var_array() 함수는 여러 데이터를 필터링하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] ) : array

그 중 $data는 필터링할 데이터를 나타내며 연관되어야 합니다. 정렬. $definition은 배열 또는 상수일 수 있는 필터링 규칙을 나타냅니다. $add_empty는 빈 문자열을 포함할지 여부를 나타냅니다.

이 함수는 연관 배열이기도 한 필터링된 데이터를 반환합니다.

  1. filter_var_array() 함수를 사용하여 사용자가 입력한 데이터를 필터링하세요

이제 사용자 이름, 비밀번호, 이메일 주소라는 세 개의 입력 상자가 포함된 양식이 있다고 가정해 보겠습니다. 데이터베이스에 저장하기 전에 데이터가 올바른 형식인지 확인하기 위해 이 세 가지 입력 상자의 데이터를 필터링하고 확인해야 합니다. 다음은 이 작업을 수행하기 위해 filter_var_array() 함수를 사용하는 코드입니다:

<?php
//从表单中获取数据
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];

//定义过滤规则
$definition = array(
    'username' => FILTER_SANITIZE_STRING,
    'password' => FILTER_SANITIZE_STRING,
    'email'    => FILTER_VALIDATE_EMAIL
);

//使用filter_var_array()函数过滤数据
$data = filter_var_array(array(
    'username' => $username,
    'password' => $password,
    'email'    => $email
), $definition);

//判断用户输入是否合法
if($data['username'] && $data['password'] && $data['email']){
    //存储到数据库中
    //...
}else{
    //提示用户输入不合法
    //...
}
?>

위 코드에서 세 개의 변수 $username, $password 및 $email은 먼저 양식에서 가져옵니다. 그런 다음 'username' 및 'password'에 대한 필터링 규칙은 FILTER_SANITIZE_STRING(레이블 및 특수 문자 제거)이고 'email'에 대한 필터링 규칙은 FILTER_VALIDATE_EMAIL(합법적인 이메일 주소인지 확인)인 $definition 배열을 정의했습니다. ).

다음으로, 얻은 세 개의 변수와 정의된 $definition 배열을 filter_var_array() 함수에 전달하고 반환 결과를 $data 배열에 저장합니다. 마지막으로 $data 배열의 세 요소가 비어 있지 않은지 확인합니다. 비어 있지 않으면 데이터가 데이터베이스에 저장될 수 있습니다. 그렇지 않으면 입력이 잘못되었다는 메시지가 사용자에게 표시됩니다.

위의 코드 예시를 통해 여러 데이터를 쉽게 필터링하고 확인할 수 있는 filter_var_array() 함수의 효율성과 편의성을 확인할 수 있습니다.

  1. filter_var_array() 함수의 상수

위의 예에서는 FILTER_SANITIZE_STRING 및 FILTER_VALIDATE_EMAIL이라는 두 개의 필터 상수를 사용했습니다. 이 두 상수는 filter_var() 함수에 정의되어 있으며 filter_var_array() 함수에서 직접 사용할 수도 있습니다. . 그러나 이 두 상수 외에도 filter_var_array() 함수에는 사용할 수 있는 다른 상수가 많이 있습니다. 다음은 일반적으로 사용되는 필터 상수입니다.

  • FILTER_VALIDATE_BOOLEAN: 부울 유형인지 확인
  • FILTER_VALIDATE_INT: 정수인지 확인
  • FILTER_VALIDATE_FLOAT: 부동 소수점 숫자인지 확인
  • FILTER_VALIDATE_REGEXP : 있는지 확인해보세요 지정된 정규식과 일치합니다.
  • FILTER_VALIDATE_URL: URL 주소인지 확인합니다.
  • FILTER_SANITIZE_SPECIAL_CHARS: 특수 문자를 HTML 엔터티로 이스케이프합니다.
  • FILTER_SANITIZE_NUMBER_INT: 문자열에서 숫자가 아닌 문자를 제거합니다.
  1. 요약

이 글에서는 PHP의 filter_var_array() 함수를 자세히 소개하고 구체적인 코드 예시를 제공합니다. 실제 사례 시연을 통해 독자는 웹 애플리케이션의 보안을 보장하기 위해 이 기능을 사용하여 사용자가 입력한 데이터를 필터링하고 확인하는 방법을 명확하게 이해할 수 있습니다.

위 내용은 여러 사용자가 입력한 데이터를 필터링하려면 PHP의 filter_var_array() 함수를 사용하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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