>  기사  >  백엔드 개발  >  PHP 입력 유효성 검사에 대한 올바른 접근 방식

PHP 입력 유효성 검사에 대한 올바른 접근 방식

王林
王林원래의
2024-05-05 08:12:01656검색

PHP 입력 확인 방법: PHP 내장 함수(filter_var, preg_match) 사용, 정규식 사용(예: 비밀번호 강도 확인), 화이트리스트 또는 블랙리스트 사용(특정 입력 값 제한 또는 금지)

PHP 输入验证的正确做法

PHP 입력 확인 연습

입력 유효성 검사는 악의적이거나 잘못된 입력이 응용 프로그램에 손상을 입히는 것을 방지하므로 웹 응용 프로그램에서 매우 중요합니다. PHP는 입력을 효율적으로 검증하기 위한 다양한 내장 함수와 기술을 제공합니다.

1. PHP 내장 함수 사용

PHP에는 다음과 같이 입력을 필터링하고 검증하는 몇 가지 유용한 함수가 내장되어 있습니다.

// 过滤用户输入中的 HTML 标记
$filtered_input = filter_var($_POST['input'], FILTER_SANITIZE_SPECIAL_CHARS);

// 验证电子邮件地址
$is_email_valid = filter_var($_GET['email'], FILTER_VALIDATE_EMAIL);

2 정규 표현식은 강력한 패턴입니다. 복잡한 입력을 검증하는 데 사용할 수 있습니다. 정규식을 사용하여 비밀번호 강도를 확인하는 방법은 다음과 같습니다.

function validate_password($password) {
  $regex = '/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/';
  return preg_match($regex, $password);
}

3. 화이트리스트 또는 블랙리스트 사용

입력에 허용 또는 허용되지 않는 값이 명확하게 있는 경우 화이트리스트 또는 블랙리스트를 사용하여 확인할 수 있습니다.

화이트리스트:

특정 값만 통과하도록 허용합니다. 예를 들어, 다음 코드는 특정 과일만 입력하도록 허용합니다.

$allowed_fruits = array('apple', 'banana', 'orange');
if (in_array($_GET['fruit'], $allowed_fruits)) {
  // 输入有效
}
블랙리스트:

특정 값이 통과하는 것을 금지합니다. 예를 들어 다음 코드는 특정 키워드가 포함된 입력을 비활성화합니다.

$disallowed_keywords = array('spam', 'malware', 'virus');
if (stripos($_POST['comment'], $disallowed_keywords) !== false) {
  // 输入无效
}
실제 예: 사용자 등록 양식

다음은 PHP 입력 유효성 검사를 사용하는 방법을 보여주는 사용자 등록 양식의 코드 예입니다.

<?php
// 验证用户输入
$errors = array();

if (empty($_POST['username'])) {
  $errors[] = '用户名不能为空';
}

if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
  $errors[] = '无效的电子邮件地址';
}

if (!validate_password($_POST['password'])) {
  $errors[] = '密码强度不足';
}

// 处理已验证的输入
if (empty($errors)) {
  // 注册用户
}
?>

다음을 따르면 됩니다. 관행을 통해 사용자 입력을 효과적으로 검증하고 애플리케이션의 보안과 무결성을 보장할 수 있습니다.

위 내용은 PHP 입력 유효성 검사에 대한 올바른 접근 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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