Maison > développement back-end > tutoriel php > Approche correcte de la validation des entrées PHP

Approche correcte de la validation des entrées PHP

王林
Libérer: 2024-05-05 08:12:01
original
670 Les gens l'ont consulté

Méthode de vérification des entrées PHP : utilisez les fonctions intégrées PHP (filter_var, preg_match), utilisez des expressions régulières (telles que vérifier la force du mot de passe), utilisez des listes blanches ou des listes noires (limiter ou interdire des valeurs d'entrée spécifiques)

PHP 输入验证的正确做法

Vérification des entrées PHP est une pratique correcte

La validation des entrées est cruciale dans les applications Web car elle empêche les entrées malveillantes ou invalides de nuire à l'application. PHP fournit une variété de fonctions et de techniques intégrées pour valider efficacement les entrées.

1. Utilisez les fonctions intégrées de PHP

PHP a intégré plusieurs fonctions utiles pour filtrer et valider les entrées, telles que :

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

// 验证电子邮件地址
$is_email_valid = filter_var($_GET['email'], FILTER_VALIDATE_EMAIL);
Copier après la connexion

2 Utiliser des expressions régulières

Les expressions régulières sont un modèle puissant, peut être utilisé pour valider une entrée complexe. Voici comment vérifier la force du mot de passe à l'aide d'expressions régulières :

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

3. Utilisez la liste blanche ou la liste noire

Si l'entrée contient des valeurs autorisées ou non autorisées, vous pouvez utiliser la liste blanche ou la liste noire pour vérifier.

Liste blanche : Autoriser uniquement le passage de valeurs spécifiques. Par exemple, le code suivant permet uniquement de saisir des fruits spécifiques :

$allowed_fruits = array('apple', 'banana', 'orange');
if (in_array($_GET['fruit'], $allowed_fruits)) {
  // 输入有效
}
Copier après la connexion

Liste noire : interdit le passage de valeurs spécifiques. Par exemple, le code suivant interdit la saisie contenant des mots-clés spécifiques :

$disallowed_keywords = array('spam', 'malware', 'virus');
if (stripos($_POST['comment'], $disallowed_keywords) !== false) {
  // 输入无效
}
Copier après la connexion

Exemple réel : formulaire d'inscription d'utilisateur

Voici un exemple de code pour un formulaire d'inscription d'utilisateur qui montre comment utiliser la validation d'entrée 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)) {
  // 注册用户
}
?>
Copier après la connexion

En suivant ces pratiques, vous pouvez valider efficacement les entrées des utilisateurs et garantir la sécurité et l’intégrité de votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal