|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
Bonjour et bonne année !
Voila j'ai des variables que je passe pas l'URL du genre : J'aimerais savoir s'il est possible de crypter la variable mail à la page ou l'on charge la variable dans l'url et la décrypter dans la page ou l'on récupère la variable ? merci ! |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Pour commencer, si possible, utilise le POST...
Ensuite, pour le cryptage, évidemment que c'est possible ! Mais il va faloir que tu écrives toi même tes fonctions de cryptage/décryptage, ce qui n'est pas compliqué du tout. pour ca, c'est facile, tu définie une clé, et tu aditionne les valeurs asci lettre a lettre a ton de ton mot clé et de ta chaine. si ta chaine est plus longue que ta clé (of course), tu répètes ta clé. Pour décrypter, c'est le même alogo avec un - à la place du +. |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 918 ![]() |
Tout dépend ce que tu appelles crypter.
Si c'est juste pour la rendre illisible par un robot ou à l'oeil nu par un humain, tu peux - écrire une fonction toute bête qui décale les caractères (A -> B, B-> C...) - encoder ta variable en base64 Sinon tu peux utiliser la bibliothèque mcrypt http://fr3.php.net/manual/fr/ref.mcrypt.php si elle est installée sur ton serveur ou écrire une fonction de cryptage plus élaborée (cryptage XOR par exemple). La méthodologie globale reste toujours la même 1-crypter la variable 2-l'envoyer cryptée dans l'URL 3-la récupérer cryptée 4-la décrypter Sinon tu peux aussi passer tes variables par session, ça évite que quelqu'un puisse les voir facilement. Reste à savoir qu'aucune méthode n'est infaillible. |
|
|
00
|
|
|
#4 | ||||
|
Membre expérimenté
![]() ![]() |
Salut
Sinon, tu peux aussi utiliser les SESSIONS, tu stockes dans ta session le mail page qui envoie.php Code :
Code :
++ JC |
||||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 918 ![]() |
J'oubliais : s'il faut juste comparer la variable à une valeur préexistante (comme un mot de passe), il suffit de chiffrer la variable avec md5() et de comparer la valeur chiffrée avec celle de la valeur attendue.
|
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
Merci pour vos réponses ! Je ne peux pas utiliser les sessions car la variable est généré pour chaque page dans un emailling ! Mais j'y ai pensé aux sessions ça resoudrait mon problème... Malheureusement, la méthode POST est aussi impraticable... En fait, j'aimerais juste appliquer l'algorithme A-> B B->C (algo de jules césar) mais comment le faire ? Je ne vais pas faire 26 if (...) pour crypter et 26 if pour décrypter ? et comment gérér dans mon cas le @ ?
merci ! |
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
En ASCII... en C/c++, ça se fait implicitement, en PHP, j'imagine qu'il doit exister des fonctions pour obtenir les code ascii de caracteres et inversement
|
|
|
00
|
|
|
#8 |
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
Oui tu as raison ! Il existe des fonctions ! ord() et chr() le permettent ! Je vais tester ! Bon c'est un niveau très faible de cryptage car n'importe quel utilisateur averti et ayant des connaissances en php arrive a decrypter l'email mais ca va me dépanner pour le moment...
Merci ! |
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Si tu utilises la méthode que j'ai décrite un peu plus haut, ne te méprend pas, si ta clé est suffisament longue (genre 16 caracteres) et varié (utilisation d'un max de symboles), personnes ne le décryptera jamais sans connaitre la clé !
|
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
en fait tout dépend de la clé pour chiffrer...
|
|
|
00
|
|
|
#11 | ||
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
ord et chr permet d'effectuer la fonction sur un seul caractère... Comment faire pour parser toute la chaine de caractère ? Ou existe-il une fonction équivalente à ord pour les chaines ? Merci !
Code :
|
||
|
|
00
|
|
|
#12 | |||
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Mort de rire :
Citation:
bha je sais pas si foreach peut marcher sur une string, mais dans le cas contraire : Code :
|
|||
|
|
00
|
|
|
#13 |
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
|
|
|
00
|
|
|
#14 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
oh non, c'est pas de pas savoir qui me fait rire, juste de vouloir recupérer le caractere ascii d'une chaine de caractere ^^
la difference entre un caractere et un caractere ascii, c'est que le premier est un symbole, le second est le numero de ce symbole compris entre 0 et 255 (pour le PC). Il est donc difficile de concevoir qu'il y ai des code ascii pour les chaines de caracteres |
|
|
00
|
|
|
#15 |
![]() ![]() Développeur Web Inscription : septembre 2005 Messages : 1 032 ![]() |
oki pardon ! C'est vrai qu'avec du recul ca parait un peu con !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com