Cyptage variable
Résolu/Fermé
jalalnet
Messages postés
293
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
30 juillet 2023
-
26 oct. 2010 à 15:45
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 26 oct. 2010 à 22:13
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 26 oct. 2010 à 22:13
A voir également:
- Cyptage variable
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Windows 10
- Msgbox vba variable ✓ - Forum VB / VBA
- Variable d'environnement TEMP ✓ - Forum Windows 7
- 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
4 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
26 oct. 2010 à 20:44
26 oct. 2010 à 20:44
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
@+
jalalnet
Messages postés
293
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
30 juillet 2023
10
26 oct. 2010 à 19:29
26 oct. 2010 à 19:29
ça marche pas
<a href="cible.php?billet=<?php echo urlencode(donnees['id']); ?>">
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
26 oct. 2010 à 22:13
26 oct. 2010 à 22:13
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.
26 oct. 2010 à 21:56
le lien de validation comporte le passe crypté c pour cela
26 oct. 2010 à 22:05
est je trouve c'est pas pratique que tous les données soit visible dans l'url