Les sessions en PHP ( principe )

Salut, juste pour savoir en vitesse, les sessions en pgp commet ça marche …
je veux dire, apres les session_start ( ), session_register ( ) ( que je n’utilise )
Que se passe-t-il ? cookie de session ?
mercyy ( je sais c’est avec un I )

pgp?

Je comprends pas très bien ta question. Mais une session ne crée pas de cookie. Y’a des fonctions cookie pour.
A propos, session_register est depreciate çà ne marche plus sur certain serveur. fo directement faire : @_SESSION[var] = “proot”;

Donc en fait une session est une variable globale sur le serveur. Il se pe que ces informations soit stocké sur fichier (free) mais toujours sur le serveur.

Si si une session cree un cookie, en general un cookie de session (celle de browser) ou re-ecrit toutes les URL pour inclure un session ID. C’est explique dans la doc de php.

Woops vé me cacher alors…
Je pensais que pour faire des cookie fallait utiliser les fonctions set_cookie()…

Enfin bon, si vous avez besoin de moi chuis dans la cave au fond à droite…

Tu peux sortir de ta cave becoze tu n’as pas faux. set_cookie sert bien à déposer un cookie chez le client. Les sessions c’est encore autre chose. C’est le système qui permet de maintenir des variables entre diverses pages. Les sessions peuvent utiliser les cookies, mais tu n’as pas spécialement à intervenir dessus.

Désolé de pas avoir pu detailler plus tot …
La question en fait, est : que ce passe t il sur le serveur a l’appeal des sessions ?
ça serait un simple fichié édité , ou d’apres Glop un cookie.
allé a + merci !

Non mais c’est pas ca du tout Une session c’est un jeu de variable “clef/valeur” (une hashtable) assignee a un client donne pour la duree de la vie de la session. HTTP etant un mode deconnecte par defaut (chaque requete est independante) il faut bien un moyen d’identifier un client unique. L’ip ca marche pas parceque 50 clients peuvent etre derriere la meme IP, donc ce qu’on fait c’est qu’on genere un numero au hasard a la premiere connection d’un client, on lui cree sa hashtable du cote serveur pour stocker ses donees et on lui envoie le numero en question dans un cookie. Comme ca a chaque requete on peut retrouver le jeu de “clef/valeur” associe a ce client. Apres selon les technos les hashtables seront sauvegardees sur disque dans un fichier apres chaque requete ou elles seront juste gardees en memoire. Apres un certain temps sans requetes pour un client donne (en general 15/20 minutes) les jeux de variables “clef/valeur” sont effacees. Et on dit que la session a expiree.

Ah ok …
quelque part, c’est bien un fichier et un cookie
Bon tant que je te tiens ( ^^ ) j’amerai connaitre un procédé en PHP toujours pour crypter ET decrypter les mots de passe ( donc pas de MD5 ) …
cii !

pour cryper et decrypter il faut que tu utilise les fonction de la librairie mcrypt.

Attention cette php n’est pas compilé par defaut avec cette librairie et il faudra le re-compiler.

source : http://fr3.php.net/manual/fr/ref.mcrypt.php

[HS]
Si tous les sites de prog pouvaient avoir le meme genre de commentaire super-utiles et pratique …
[HS]

sinon, j’ai aussi une question (mais juste par curiosité) :
Est qu’il y a des algos de cryptage illégaux en france dans cette librairie mcrypt (genre clef trop puissante, ou algo interdit hors de états unis) d’ailleur il y en a t’il en règle general ?

Cela dit c’est une tres mauvaise idee de pouvoir decrypter des mots de passe. Quand on oublie son mot de passe, on l’envoie PAS par email, on en genere un nouveau, temporaire, et c’est celui la qu’on envoie.

il faudrait donc creer un systeme de verification, permettant de ne pas changer ( ou se voir changé ) son mot de passe a tout bout de champs, ainsi l’utilisateur le rechange ensuite … mais alors tu t’inscris a un site et tu choisis pas le mot de passe, ou alors … mouais c un peu lourd quand meme je trouve mais bon …
ça passe pas mal pour cafezone alors pourquoi pas !
Le plus chiant sera le test ( je pense bien a une question perso, mais ensuite, en comparant avec la bdd, si un des caracteres change, ça merde => question simple )
ok ok
J’ai reflechis " a voix haute " merci a vous
donc ça sera du MD5( ) powaaaaaa si j’ai bien compris !

Tant qu’on est dans le cryptage des mots de passe, question : est-ce que MSSQL 2000 à une fct type MD5 (j’ai matté la doc TSQL, a pas trouvé). Sinon, pour faire la même chose : quoi en ASP.net.

Les deux sont possibles. Moi je prefere le faire dans l’appli ASP.Net.  Tu peux utiliser ca: FormsAuthentication.HashPasswordForStoringInConfigFile (genial le nom de la fonction, boudin, tu giffelra le mec qui a laisse passer ca) en asp.net, ou alors le faire a la main genre: (tout ca pour faire du SHA1)

Dim shaM As New SHA1Managed()
Dim resultHash As Byte() = shaM.ComputeHash(Data)

(en VB.Net pour changer…)

Sinon en MD5, moi j’utilise ca que j’ai recup chai pas ou, c’est pas super propre ou optimise, mais ca marche et je me prend pas la tete.
public static String GetMD5Hash ( String sDataToHash )
{
 String sMD5HashHexa = “”;// String finale.
 string[] tabStringHexa = new string[16];
 
 MD5 md5 = new MD5CryptoServiceProvider();
 byte[] data = Encoding.ASCII.GetBytes( sDataToHash );

 byte[] result = md5.ComputeHash(data);
 for (int i = 0; i < result.Length; i++)
 {
string temp = (result[i]).ToString( “x” );
if(temp.Length == 1)
 temp = “0”+temp;
sMD5HashHexa += temp;
 }
 return sMD5HashHexa;
}
Sinon en MSSQL je sais plus si c’est integre, mais t’as plein d’exemple “d’extended stored proc” qui sont des dlls que tu peux utiliser pour “etendre” mssql qui font ca facilement (voire code project ou autre).

Ce message a été édité par GloP le 28/04/2004

ok chef !
SHA1 dans Asp.net, et hop !

ça a quand meme l’air achement complexe ton truc Glop …
Apres reflexion, je me suis dit que s’il faut regenerer un mdp si perdu, faut etre sur que l’utilisateur est l’utilisateur => reponse a une question.
Or, les mots de passes ( enfin, le cryptage ) sert a eviter que les mots de passes soient en clair dans la base, en cas de piratage ( mechant mdr ) mais il faut aussi crypter la reponse, sans quoi un eventuel pirate modifie l’email de reception du mot de passe, et a direct la reponse.
En clair, si seul le mot de passe est crypté, il peut le trouver. donc ce n’est pas suffisant.
Je propose un cryptage de la reponse a la question ( exemple : couleur préférée en un mot ).
et la ben non, on est pas a l’abri d’un derapage, un ptit edit et on sen sort quand meme !!
alors en fait, si on est hacké, c’est jamais sécu !!

Bah clairement c’est pas pour te proteger toi, c’est pour proteger tes utilisateurs qui mettent souvent le meme mot de passe sur tout les sites qu’ils visitent. Si tu fais pas un hash tu peux acceder a plein de sites super facilement. Aussi un pirate pourrait obtenir un droit en lecture sur la base assez facilement, c’est le plus classique par script injection et obtenir un “dump” de la table user. Avec un hash il ne peut rien en faire. Demander un changement de mot de passe pour un utilisateur autre que soi meme c’est tres limite, et honntement on s’en fout, puisque le nouveau mot de passe sera envoye a l’adresse email enregistree dans le compte. Il y a des moyens faciles de se proteger de ce genre d’attaque mais elle ne presente en elle meme aucun risque pour la securite du site. Forcement si tu te fais hacker dans tous les sens et que l’attquant a les droits en lecture ET en ecriture sur ta base, t’es foutu de toute facon. Mais au moins il rentrera pas sur les autres sites parceque les membres utilisent le meme mot de passe partout.
Ce message a été édité par GloP le 30/04/2004

  • Fser s’incline respectueusement devant le dieu du code