PHP 입력 확인 방법: PHP 내장 함수(filter_var, preg_match) 사용, 정규식 사용(예: 비밀번호 강도 확인), 화이트리스트 또는 블랙리스트 사용(특정 입력 값 제한 또는 금지)
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!