Filtres pour débutants en PHP

Filtre 1.php

Le filtre PHP est utilisé pour valider et filtrer les données provenant de sources non sécurisées, telles que les entrées de l'utilisateur.

2. Qu'est-ce que le filtre PHP

Le filtre PHP est utilisé pour vérifier et filtrer les données provenant de sources non sécurisées.

Tester, valider et filtrer les entrées utilisateur ou les données personnalisées est une partie importante de toute application Web. L'extension de filtre PHP est conçue pour rendre le filtrage des données plus facile et plus rapide

3 Pourquoi utiliser des filtres

Presque toutes les applications Web reposent sur une entrée externe. Ces données proviennent généralement des utilisateurs ou d'autres applications (telles que des services Web). En utilisant des filtres, vous pouvez vous assurer que votre application obtient le bon type d'entrée

Le filtrage des données externes améliorera la sécurité, alors quelles sont les données externes ?

(1).Données d'entrée du formulaire

(2).Cookies

(3).Données des services Web

(4).Variables du serveur

(5). Résultats de la requête de base de données

Fonction et filtre

Pour filtrer les variables, veuillez utiliser l'un des éléments suivants. les fonctions de filtre :

filter_var() - Filtre une seule variable par un filtre spécifié

filter_var_array() - Filtre plusieurs variables par des filtres identiques ou différents Variables

filter_input - Obtient une variable d'entrée et la filtre

filter_input_array - Obtient plusieurs variables d'entrée et les filtre par des filtres identiques ou différents

<?php
	header("Content-type: text/html; charset=utf-8");//设置编码
	$int = 123;
	if(!filter_var($int, FILTER_VALIDATE_INT)){
		echo("不是一个合法的整数");
	}else{
		echo("是个合法的整数");
	}
?>

Remarque : lorsque nous écrivons un entier légal, la sortie sera un entier légal. Sinon, le résultat ne sera pas un entier légal

Validation et Désinfection Il existe deux types de filtrage

Filtre de validation :

Utilisé pour valider la saisie de l'utilisateur

Règles de formatage strictes (telles que la validation d'URL ou d'e-mail)

En cas de succès Renvoie le type attendu, ou FALSE en cas d'échec

Filtre de nettoyage :

Utilisé pour autoriser ou interdire les caractères spécifiés dans une chaîne

Aucune règle de format de données

Renvoie toujours la chaîne

Options et les drapeaux

Les options et les drapeaux sont utilisés pour ajouter des options de filtrage supplémentaires au filtre spécifié.

Différents filtres ont des options et des indicateurs différents

<?php
	header("Content-type: text/html; charset=utf-8");//设置编码
	$var=300;

$int_options = array(
		"options"=>array(
			"min_range"=>0,
			"max_range"=>256
			)
		);

	if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)){
		echo("不是一个合法的整数");
	}else{
		echo("是个合法的整数");
	}
?>

Remarque : Tout comme le code ci-dessus, les options doivent être placées dans un tableau associé appelé "options". Si vous utilisez des indicateurs, ils n'ont pas besoin d'être dans un tableau. Puisque l'entier est "300", il n'est pas dans la plage spécifiée

Valider la saisie

Essayons de valider la saisie à partir du formulaire, entrez.

La première chose que nous devons faire est de confirmer que les données d'entrée que nous recherchons existent.

Ensuite, nous utilisons la fonction filter_input() pour filtrer les données d'entrée.

Dans l'exemple suivant, la variable d'entrée "email" est passée à la page PHP

<?php
	header("Content-type: text/html; charset=utf-8");//设置编码
	if(!filter_has_var(INPUT_GET, "email")){
		echo("没有 email 参数");
	}else{
		if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){
			echo "不是一个合法的 E-Mail";
		}else{
			echo "是一个合法的 E-Mail";
		}
	}
?>

Remarque : lorsqu'un formulaire transmet des données, vérifiez d'abord s'il y a des données transmises par get

Ensuite, s'il y a des données transmises, il sera jugé s'il s'agit d'un e-mail légitime

Désinfecter les entrées

Essayons de nettoyer l'URL transmise depuis le formulaire.

Tout d'abord, nous voulons confirmer que les données d'entrée que nous recherchons existent.

Ensuite, nous utilisons la fonction filter_input() pour purifier les données d'entrée.

Dans l'exemple suivant, la variable d'entrée "url" est passée à la page PHP :

<?php
	header("Content-type: text/html; charset=utf-8");//设置编码
	if(!filter_has_var(INPUT_GET, "url")){
		echo("没有 url 参数");
	}else{
		$url = filter_input(INPUT_GET, 
		"url", FILTER_SANITIZE_URL);
		echo $url;
	}
?>

Remarque : Vérifiez s'il existe une variable d'entrée "url" de type "GET".

Si cette variable d'entrée existe, nettoyez-la (supprimez les caractères illégaux) et stockez-la dans la variable $url


Formation continue
||
<?php header("Content-type: text/html; charset=utf-8");//设置编码 $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)){ echo("不是一个合法的整数"); }else{ echo("是个合法的整数"); } ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel