J'ai créé un hachage dans confirm_email.phpvérification php email en utilisant la clé secrète
$email = "[email protected]";
$secret = "$#@%^&$#$%^&&akeif"; //random characters
$hash = MD5($email . $secret);
$message = "https://localhost/mysite/register.php?email=" . $email . "&hash=" . $hash;
et envoie l'e-mail. Après avoir cliqué sur le lien, je le code suivant dans register.php
$secret = "$#@%^&$#$%^&&akeif";
if(isset($_GET['hash']) and (MD5($_GET['email'] . $secret) == $_GET['hash'])) {
//allow registration to continue processing
} else {
//don't allow
}
Dois-je utiliser des sessions pour stocker le secret (je suppose que je pourrais créer un secret spécifique à l'utilisateur si tel était le cas)? Ou, y a-t-il un meilleur moyen de créer un hachage pour cette approche?
Merci d'avance.
vous ne devriez avoir besoin de la clé secrète dans 2 endroits –
je vous conseille de mettre le secret dans un fichier de configuration, utilisez 'require_once' pour la page qui en a besoin. En utilisant cette méthode, vous pouvez unifier le secret dans un script différent. De plus, vous pouvez utiliser 'authcode' ou une autre fonction/bibliothèque similaire pour effectuer un contrôle de temps de confirmation, si vous en avez besoin. – Hartman
* "Dois-je utiliser des sessions pour stocker le secret" * - Non, il devrait s'agir d'une offre unique et d'un temps limité. –