PHP, en tant que langage de programmation côté serveur populaire, est largement utilisé pour créer des applications Web. Lors du développement d’applications Web utilisant PHP, il est très important d’assurer la sécurité. Étant donné que les requêtes HTTP incluent deux types : GET et POST, et que la requête GET contient les paramètres de requête envoyés par le client dans l'URL, la sécurité de l'application Web peut être améliorée en interdisant la requête GET. Dans cet article, nous verrons comment supprimer les requêtes GET via PHP.
Première étape : interroger le type de requête
Lors de l'écriture d'un script PHP, nous pouvons utiliser le paramètre $_SERVER['REQUEST_METHOD'] pour déterminer le type de la requête en cours. S'il s'agit d'une requête GET, la valeur de ce paramètre sera 'GET', s'il s'agit d'une requête POST, sa valeur sera 'POST'. Par conséquent, nous pouvons ajouter l'instruction de jugement suivante au début du code :
if ($_SERVER['REQUEST_METHOD'] == 'GET') { header('HTTP/1.1 405 Method Not Allowed'); exit; }
Ce code demande d'abord si le type de la requête actuelle est GET. Si tel est le cas, il renverra l'erreur "HTTP/1.1 405 Method Not Allowed". coder et arrêter l'implémentation du script.
Étape 2 : Désactiver le tableau $_GET
En PHP, $_GET est un tableau associatif qui contient les paramètres passés dans l'URL de la requête. Pour éviter les requêtes GET malveillantes, nous pouvons utiliser la fonction unset() au début du script pour définir le tableau $_GET sur un tableau vide :
$_GET = array();
Cela désactivera le tableau $_GET et empêchera quiconque de transmettre des paramètres dans l'URL. .
Étape 3 : Utilisez $_POST au lieu de $_GET
En PHP, nous pouvons utiliser le tableau $_POST pour stocker les données dans la requête POST. Si nous devons envoyer des données à une page PHP et que nous souhaitons qu'elles ne soient pas accessibles via une requête GET, nous pouvons utiliser une requête POST au lieu d'une requête GET.
Par exemple, si vous utilisiez auparavant des paramètres dans l'URL pour transmettre des mots-clés de recherche, vous pouvez désormais utiliser un champ masqué à la place :
<form method="post" action="search.php"> <input type="text" name="keyword"> <input type="submit" value="Search"> </form>
Dans cet exemple, une requête POST est utilisée à la place d'une requête GET pour effectuer la requête de recherche. Dans les pages PHP, utilisez $_POST['keyword'] pour obtenir des mots-clés de recherche au lieu d'utiliser $_GET['keyword'].
En résumé, la désactivation des requêtes GET est un moyen efficace d'améliorer la sécurité des applications Web. Grâce aux 3 étapes ci-dessus, nous pouvons empêcher efficacement les utilisateurs malveillants d'utiliser les requêtes GET pour attaquer nos applications.
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!