Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2007, 14h17   #1
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
Par défaut [Sécurité] Chiffrement des infos dans l'URL

Bonjour et bonne année !

Voila j'ai des variables que je passe pas l'URL du genre :

Code :
index.php?mail=dsphinx@gmail.com
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 !
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 14h29   #2
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
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 +.
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 14h35   #3
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
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.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 14h37   #4
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut

Sinon, tu peux aussi utiliser les SESSIONS, tu stockes dans ta session le mail

page qui envoie.php
Code :
1
2
3
4
5
 
<?
session_start();
$_SESSION['mail'] = dsphinx@gmail.com;
?>
page qui recoit.php
Code :
1
2
3
4
5
6
7
8
 
session_start();
 
if (isset($_SESSION['mail']))
{
  // ta fonction mail
  mailTo($_SESSION['mail'], $monMessage);
}
Pour en savoir plus sur les sessions...

++
JC
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 14h37   #5
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
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.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 16h18   #6
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
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 !
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 16h46   #7
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
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
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 16h53   #8
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
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 !
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 21h50   #9
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
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é !
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 09h09   #10
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
en fait tout dépend de la clé pour chiffrer... Merci !
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 14h50   #11
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
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 :
1
2
3
4
5
$mail = "dsphinx@gmail.com";
 
$mail = ord($mail);
 
echo $mail;
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 15h47   #12
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
Mort de rire :

Citation:
existe-il une fonction équivalente à ord pour les chaines
non, ça existe pas !

bha je sais pas si foreach peut marcher sur une string, mais dans le cas contraire :

Code :
1
2
3
4
5
$len = strlen($machaine);
for($i=0;$i<$len;$i++)
{
    $caractere = substr($machaine, $i, $i+1);
}
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 15h49   #13
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
pardon je savais pas... Merci quand meme !
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 15h55   #14
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
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
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 15h57   #15
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
oki pardon ! C'est vrai qu'avec du recul ca parait un peu con !
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h15.


 
 
 
 
Partenaires

Hébergement Web