Maison >développement back-end >tutoriel php >Filtrage des données PHP : comment empêcher les fuites de données sensibles
Filtrage de données PHP : comment prévenir les fuites de données sensibles
Avec le développement rapide d'Internet, les fuites de données sont devenues une menace sérieuse pour la sécurité. Les données divulguées comprennent des informations sensibles telles que des numéros d'identification personnels, des numéros de compte bancaire et des mots de passe. Une fois obtenues par des pirates informatiques, elles causeront de graves dommages à la propriété et à la vie privée des utilisateurs. Lors du développement d'un site Web ou d'une application, les données soumises par les utilisateurs doivent être filtrées pour éviter la fuite et l'utilisation abusive de données sensibles. Cet article présentera quelques méthodes et précautions pour le filtrage des données PHP et l'illustrera avec des exemples de code.
(1) Pour la saisie de texte, vous pouvez utiliser les fonctions de filtrage intégrées de PHP, telles que la fonction htmlspecialchars()
pour convertir les caractères spéciaux. en entités HTML, pour empêcher les attaques XSS. htmlspecialchars()
函数可以将特殊字符转换为HTML实体,防止XSS攻击。
$input = $_POST['content']; $filtered_input = htmlspecialchars($input);
(2)对于数字输入,使用filter_var()
函数可以对输入数据进行验证和过滤,如下例将一个输入的年龄过滤为一个合法的整数值:
$age = $_POST['age']; $filtered_age = filter_var($age, FILTER_VALIDATE_INT); if ($filtered_age === false) { // 非法的输入,进行相应处理 }
(1)使用正则表达式进行验证。例如,验证电话号码输入是否合法:
$phone = $_POST['phone']; if (!preg_match('/^[0-9]{3}-[0-9]{7}$/', $phone)) { // 非法的电话号码,进行相应处理 }
(2)使用PHP内置的过滤器对输入数据进行验证,如FILTER_VALIDATE_EMAIL
可以验证电子邮件地址的格式是否正确,FILTER_VALIDATE_URL
$email = $_POST['email']; if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // 非法的电子邮件地址,进行相应处理 }(2) Pour une saisie numérique, utilisez la fonction
filter_var()
pour vérifier et filtrer les données d'entrée. L'exemple suivant filtre un âge d'entrée en une valeur entière légale : $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (:username, :password)"); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); $stmt->execute();
(1) Utilisez des expressions régulières pour la validation. Par exemple, vérifiez si la saisie du numéro de téléphone est légale :
$password = $_POST['password']; $hashed_password = password_hash($password, PASSWORD_DEFAULT);
(2) Utilisez le filtre intégré de PHP pour vérifier les données saisies, telles que FILTER_VALIDATE_EMAIL
pour vérifier si le format de l'adresse e-mail est correct, FILTER_VALIDATE_URL
Peut vérifier la validité de l'adresse URL, etc.
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!