Comment éviter les erreurs de variables super globales php

PHPz
Libérer: 2023-04-10 14:08:30
original
472 Les gens l'ont consulté

En PHP, les variables superglobales sont des variables globales qui peuvent être utilisées n'importe où dans le script. Ces variables n'ont pas besoin d'être déclarées pour être utilisées, elles sont prédéfinies et déjà initialisées par PHP.

Les variables superglobales PHP courantes incluent $_GET, $_POST, $_COOKIE, $_SESSION, $_SERVER, etc.

L'avantage d'utiliser des variables super globales est que vous pouvez facilement obtenir les données soumises par le formulaire, les informations du navigateur de l'utilisateur, etc. Cependant, certains problèmes peuvent survenir lors de l'utilisation, tels que :

  • Variable non définie : si vous essayez d'utiliser une variable superglobale non définie, une erreur de variable non définie sera générée.
  • La variable est vide : si une variable superglobale ne reçoit aucune donnée, elle sera vide et l'utilisation de cette variable provoquera également une erreur.
  • Les variables sont falsifiées : lors de la soumission des données d'un formulaire, un attaquant peut falsifier des variables super-globales, provoquant des failles de sécurité dans le programme.

Afin d'éviter les erreurs avec les variables superglobales, nous pouvons prendre les mesures suivantes :

  1. Effectuer une vérification des variables

Avant d'utiliser une variable superglobale, vérifiez si elle a été définie et si elle n'est pas vide. Ceci peut être réalisé grâce aux fonctions isset() et empty().

Par exemple, le code suivant peut vérifier si la variable $_GET contient un paramètre nommé "id":

if(isset($_GET['id']) && !empty($_GET['id'])) {
    // 处理 $_GET['id'] 变量
}
Copier après la connexion
  1. Effectuer un filtrage des données

Lorsque vous utilisez des variables superglobales, vous devez vous rappeler de ne pas transmettre directement des données non filtrées. Transmettre dans la base de données ou d'autres opérations sensibles, sinon des problèmes de sécurité tels que l'injection SQL peuvent survenir. Vous pouvez utiliser les fonctions de filtrage intégrées de PHP, telles que addlashes(), htmlentities(), etc.

Par exemple, le code suivant peut utiliser la fonction addlashes() pour filtrer la variable $_POST :

$username = addslashes($_POST['username']);
$password = addslashes($_POST['password']);
Copier après la connexion
  1. Utiliser le protocole HTTPS

Si des variables super globales sont utilisées pour transmettre des informations sensibles, il est recommandé d'utiliser le protocole HTTPS pour une transmission cryptée afin d'éviter la falsification des données ou le vol de questions. Vous pouvez le faire en configurant votre site Web pour utiliser un certificat SSL/TLS.

  1. Activer le mode strict

Il existe une nouvelle fonctionnalité introduite dans PHP 7 appelée mode strict (strict_types). Après avoir activé le mode strict, PHP vérifiera plus strictement les types de données, réduisant ainsi les bugs causés par les erreurs de conversion de type. Le mode strict peut être activé en ajoutant le code suivant en tête du fichier PHP :

declare(strict_types=1);
Copier après la connexion

En bref, lorsque vous utilisez des variables superglobales PHP, veillez à faire attention à la sécurité et à la cohérence. Effectuez un filtrage et une validation rigoureux des données et suivez les meilleures pratiques pour protéger les données des programmes et des utilisateurs.

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!

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