Je suis en train de développer un site web, et en raison de l'entrée de l'utilisateur ou pour toute autre raison, j'ai besoin de montrer quelques messages d'erreur. Pour cela, j'ai une page nommée error.php, et j'obtiens le numéro d'erreur en utilisant $ _GET. Tous les messages d'erreur sont stockés dans un tableau.Cette méthode est-elle bonne/sécurisée pour montrer des erreurs aux utilisateurs? - PHP
Exemple:
header('Location: error.php?n=11');
Mais je ne veux pas que les utilisateurs les entrer le code d'erreur dans l'URL et voir tous les autres messages d'erreur. Pour éviter cela, j'ai pensé que je pourrais mettre en liste blanche la page de référence, et afficher seulement le message d'erreur si le referer est trouvé dans ma liste blanche.
Il devrait être juste similaire à ce (n'ont pas encore testé;))
$accept = false;
$allowedReferer = array (0=>'page1.php', 'page2.php');
if (in_array($_SERVER['HTTP_REFERER'], $allowedReferer)) {$accept = true;}
if ($accept) { $n=$_GET['n'];echo "Error: " . $errorList[$n];}
Cette méthode est assez bon pour éviter les utilisateurs d'espionnage-?
Je fais cela avec
PHP5Merci
+1 pour le hachage salé. –
+1 pour inclure au lieu de rediriger. – Gumbo