Session à l'url

Mammouth du PHP | 843 Messages

08 janv. 2007, 20:36

salut à tous ;)

j'utilise les sessions pour divers raisons et me voila confronté à un problème très embarrassant... et si l'utilisateur refuse les cookies :-k

et là c'est le drame... plus moyen de s'identifier sur mon site (plus moyen d'avoir acces aux sessions car pas d'identifiant de session coté client :? )

j'aimerai donc utilisé les sessions autrement afin de propagé cette identifiant à l'URL de façon securisé :)

- mon php est bien compilé avec l'option "--enable-trans-sid"
- par contre "url_rewriter.tags" est configurer par default et je doit le modifier pour travailler conformement à xhtml ... (je suppose ici que session.url_rewriter.tags et url_rewriter.tags sont identique :? )


mais comme toujour je me retrouve nez à nez avec une foule de question :lol:

1°) est ce que session.url_rewriter.tags et url_rewriter.tags coresponde au même parametre de configuration du php.ini?

2°) est il possible de passer l'id de session à l'url sans que celui-ci soit afficher dans la dite url ?

si vous avez des conseils à me donner quand à l'utilisation de l'id de session dans l'url ;)

merci d'avance :)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

ViPHP
AB
ViPHP | 5818 Messages

08 janv. 2007, 22:39

Salut,
Pour session.url_rewriter.tags
http://www.peewi.org/wiki/index.php/XHTML (bas de page)

Pour rendre plus difficile l'exploitation de tes identifiants de session :
session_start();
$tmpSession = $_SESSION;
$_SESSION = array();
session_regenerate_id();
$_SESSION = $tmpSession;
Mais perso pour les sites dont je souhaite une sécurité maximum des sessions, je teste si le client peut recevoir les cookies et si non, je lui envoie un message qui lui indique de réactiver les cookies pour ce site.
En variante, si tu souhaites ne pas imposer une manip à l'utilisateur dont le navigateur n'accepte pas les cookies, tu pourrais indiquer qu'il est conseiller de les réactiver sinon que sa session sera moins sécurisée.
Cela dit, (presque) tous les sites de vente en ligne utilisent des cookies pour gérer leur panier, donc les internautes sont habitués et savent bien comment faire, normalement...

Mammouth du PHP | 843 Messages

09 janv. 2007, 10:34

je croit que je vais voir pour un test cookie et une redirection vers message d'erreur si cookie désactivé...

par contre je me demande comment vont reagir les moteur de recherche face à cette redirection???

si les moteur de recherche n'utilise pas de cookie, il risque e ne jamais atteindre ma page index :-k

qu'en penser vous?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

ViPHP
ViPHP | 1961 Messages

09 janv. 2007, 10:52

Bonjour,

Si tu ne veux pas imposer l'activation des cookies au client, tu peux utiliser un champ de type 'hidden et readonly' dans lequel tu conserves l'identifiant de ta session.

Cette façon de faire, n'empêche en rien la méthode proposée par AB concernant la regénération de l'identifiant de session.

Si tu es sous UNIX/Linux, pour accroitre cette sécurité, fait en sorte que le répertoire (coté serveur) qui conserve les sessions ne soit modifiable et lisible que par Apache .
Si tu utilises Windows, je sais que c'est aussi faisable avec XP-PRO et NTFS, les autres versions, je ne sais pas, sauf pour XP-Edition familiale, ou là c'est pas possible.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Mammouth du PHP | 843 Messages

09 janv. 2007, 11:13

oui mais là, un simple affichage du code source de la page va réveler le SID...

cela impose donc aussi une interdiction de cache pour les pages afin de securisé :-k

en plus je ne voit pas comment on va pouvoir recuperer le SID sans ajouter un formulaire pour ce champ hidden. cela risque d'être lourd à gerer nan?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

ViPHP
ViPHP | 1961 Messages

09 janv. 2007, 11:20

Re,
C'est sur que c'est plus lourd à gérer, la première fois.
Tu crées une class qui s'occupe de cette gestion et le tour est joué.

Sinon pour l'affichage du code, c'est vrai que l'on peut voir l'identifiant, mais tu dois l'utiliser conjointement avec la directive 'session.referer_check '.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
AB
ViPHP | 5818 Messages

09 janv. 2007, 11:51

Salut BeeRoots,
je croit que je vais voir pour un test cookie et une redirection vers message d'erreur si cookie désactivé...

par contre je me demande comment vont reagir les moteur de recherche face à cette redirection???

si les moteur de recherche n'utilise pas de cookie, il risque e ne jamais atteindre ma page index :-k

qu'en penser vous?
Ben suffit de ne pas faire le test à l'ouverture de ta page d'index! Tu testes l'activation des cookies lorsque le visiteur valide son formulaire d'authentification et pas avant. Comme ça tu auras le meilleur des deux mondes.
Modifié en dernier par AB le 09 janv. 2007, 12:19, modifié 1 fois.

ViPHP
AB
ViPHP | 5818 Messages

09 janv. 2007, 12:16

Bonjour Ajoloca,
Bonjour,

Si tu ne veux pas imposer l'activation des cookies au client, tu peux utiliser un champ de type 'hidden et readonly' dans lequel tu conserves l'identifiant de ta session...
Est-ce bien nécessaire?
Si l'on utilise pas une directive comme ini_set('session.use_only_cookies', true) pour imposer l'utilisation des cookies pour stocker l'identifiant de session, l'identifiant de session sera stocké par défaut dans un cookie, et si et seulement si le navigateur client n'accepte pas les cookies, l'identifiant sera sauvegardé dans l'url.
Donc pour moi, cela se fait de manière transparente. Ce qui ne m'empêche pas de faire un contrôle pour voir si les cookies sont activés chez le client et ainsi de savoir comment sera stocké l'identifiant de session.
J'ai manqué une étape?

ViPHP
ViPHP | 1961 Messages

09 janv. 2007, 12:22

Re,
2°) est il possible de passer l'id de session à l'url sans que celui-ci soit afficher dans la dite url ?
C'était en réponse à cette question.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
AB
ViPHP | 5818 Messages

09 janv. 2007, 15:58

Re,

Effectivement, j'avais manqué une étape!