Cyptage variable
Résolu
jalalnet
Messages postés
293
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
ya une manière pour crypte les donné transit par un URL
j'ai essayé ça
mais faut décypté le variable dans la page destinataire pour l'utlilisé,je sais pas comment
ya une manière pour crypte les donné transit par un URL
<a href="news_rediger.php?billet=<?php echo $donnees['id']; ?>">
j'ai essayé ça
<a href="news_rediger.php?billet=<?php echo crypt($donnees['id']); ?>">
mais faut décypté le variable dans la page destinataire pour l'utlilisé,je sais pas comment
A voir également:
- Cyptage variable
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable objet ou bloc "with" non définie - Forum VB / VBA
4 réponses
Salut.
urlencode() fonctionne très bien, mais il sert à "échapper" les caractères non-autorisés dans les URL afin d'avoir des URL valides. Donc ton texte ne subira aucune transformation.
crypt() utilise un algorithme de hashage, c'est-à-dire à sens unique.
En d'autres mots, ça ne peut pas être décrypté.
Pour pouvoir crypter et décrypter, il va falloir générer une paire de clés de cryptage (souvent en RSA ou DSA). Pour les utiliser avec PHP, tu pourras utiliser ceci.
Mais ça serait bien que tu nous explique pourquoi tu souhaites crypter les données dans l'URL. Peut-être que tu n'as pas besoin de quelque-chose d'aussi complexe.
urlencode() fonctionne très bien, mais il sert à "échapper" les caractères non-autorisés dans les URL afin d'avoir des URL valides. Donc ton texte ne subira aucune transformation.
crypt() utilise un algorithme de hashage, c'est-à-dire à sens unique.
En d'autres mots, ça ne peut pas être décrypté.
Pour pouvoir crypter et décrypter, il va falloir générer une paire de clés de cryptage (souvent en RSA ou DSA). Pour les utiliser avec PHP, tu pourras utiliser ceci.
Mais ça serait bien que tu nous explique pourquoi tu souhaites crypter les données dans l'URL. Peut-être que tu n'as pas besoin de quelque-chose d'aussi complexe.
Bonjour,
Avec les fonctions PHP :
url_encode https://www.php.net/manual/fr/function.urlencode.php
url_decode https://www.php.net/manual/fr/function.urldecode.php
@+
Avec les fonctions PHP :
url_encode https://www.php.net/manual/fr/function.urlencode.php
url_decode https://www.php.net/manual/fr/function.urldecode.php
@+
En es-tu sûr que c'est le mot de passe crypté qui est passé ?
C'est peut-être une chaine générée.
Pour la validation, tu peux créer une nouvelle table (activation_keys) contenant ces champs :
- key (TINYTEXT) : Contiendra une chaine générée
- user_id (INT) : Contiendra l'ID du membre à valider
Sur la table des membres, ajoute une colonne "is_valid" (BOOLEAN ou TINYINT limité à 1). Ce champ vaudra 0 ou 1 (true / false)
Lorsqu'un membre s'inscrit, récupère son nouvel identifiant (mysql_insert_id)
Ensuite, génère une chaine : uniqid(md5($_SERVER['REQUEST_TIME']).'_')
Après, ajoute les données dans la table activation_keys :
Pour terminer, il faudra envoyer un email contenant ce lien :
Sur la page validation.php, il faudra vérifier si la clé est présente dans la table.
Si non, alors tu affiches une erreur.
Si oui, alors tu récupères l'ID de l'utilisation :
Ensuite, mets à jour le champ is_actif de la table des membres :
N'oublie pas de supprimer l'entrée dans validation_keys :
Pour lutter contre les robots, tu peux ajouter la demande du mot de passe et un captcha.
C'est peut-être une chaine générée.
Pour la validation, tu peux créer une nouvelle table (activation_keys) contenant ces champs :
- key (TINYTEXT) : Contiendra une chaine générée
- user_id (INT) : Contiendra l'ID du membre à valider
Sur la table des membres, ajoute une colonne "is_valid" (BOOLEAN ou TINYINT limité à 1). Ce champ vaudra 0 ou 1 (true / false)
Lorsqu'un membre s'inscrit, récupère son nouvel identifiant (mysql_insert_id)
Ensuite, génère une chaine : uniqid(md5($_SERVER['REQUEST_TIME']).'_')
Après, ajoute les données dans la table activation_keys :
$sql = 'INSERT INTO activation_keys(key, user_id) VALUES("'.$key.'","'.$userid.'")';
Pour terminer, il faudra envoyer un email contenant ce lien :
http://example.com/validation.php?key={$key}
Sur la page validation.php, il faudra vérifier si la clé est présente dans la table.
Si non, alors tu affiches une erreur.
Si oui, alors tu récupères l'ID de l'utilisation :
$sql = 'SELECT user_id FROM activation_keys WHERE key = "'.$_GET['key'].'"';(pense à protéger les variables, je fais simple)
Ensuite, mets à jour le champ is_actif de la table des membres :
UPDATE membres SET is_actif = 1 WHERE id = {$user_id}
N'oublie pas de supprimer l'entrée dans validation_keys :
DELETE FROM validation_keys WHERE key = {$_GET['key']}
Pour lutter contre les robots, tu peux ajouter la demande du mot de passe et un captcha.
le lien de validation comporte le passe crypté c pour cela
est je trouve c'est pas pratique que tous les données soit visible dans l'url