Sessions et cookie refusés


ygalr22
WRInaute discret
WRInaute discret
 
Messages: 137
Inscription: 9 Jan 2008

Sessions et cookie refusés

Message le Sam Déc 13, 2008 0:33

Bonsoir à tous,

Voila, je suis en train de développer un site web, mais je viens de tomber sur un petit problème.
En effet, je viens de me rendre compte que si le visiteur n'acceptais pas les cookies, les pages utilisant les variables session ne fonctionnent pas.

Je ne pensais pas que les cookies et les sessions avaient un rapport.
Je m'interroge donc sur la façon de régler mon problème.

Demander aux visiteurs d'accepter les cookies (c'est un peut chiant) ?

Existe t-il une autre solution?

Merci de votre aide.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Message le Sam Déc 13, 2008 12:44

empeche l'utilisation du cookie avec un code que tu place en haut de ta page.

Code: Tout sélectionner
<?php
ini_set('session.use_cookies','0' ); // session sans cookies
?>


ou
Code: Tout sélectionner
<?php
    ini_set('session.auto_start','0'); // session, tu ne démarreras que quand je demanderais
    ini_set('session.use_cookies','1'); // plutôt avec des cookies
    ini_set('session.use_only_cookies','0'); // pas forcément avec des cookies
?>


tu peux aussi passer par le fichier php.ini ou forcer ton client a accepter les cookies.


ygalr22
WRInaute discret
WRInaute discret
 
Messages: 137
Inscription: 9 Jan 2008

Message le Sam Déc 13, 2008 17:29

Merci de ton aide.

Je ne comprends pas bien ce que tu explique.
Je peut demander à ne pas utiliser de cookies, dans ce cas la, comment vont fonctionner les sessions?


tu peux aussi passer par le fichier php.ini ou forcer ton client a accepter les cookies.


8O On peut forçer le client à accepter les cookies?

Cette solution me parait la mieux dans mon cas puisque j'arrive à la fin du développement du site...

Je suis chez OVH avec un 60Gp, je ne sais pas si j'ai accès au php.ini... A vérifier.


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Sam Déc 13, 2008 18:57

Demander aux visiteurs d'accepter les cookies (c'est un peut chiant) ?


C'est pourtant la solution la plus sûre, pour limiter tout vol de session.

Se trainer l'ID de session en URL, ça pose de gros soucis de sécurité, celui ci étant présent dans tous les REFERER des autres sites ainsi que dans la quasi totalité des outils de stats.
Sans oublier l'internaute néophite qui fera un "copier" de l'URL pour la coller sur un forum par exemple, sans penser à supprimer l'ID de session...

Bref, les ID de session en URL, c'est le mal :P

Imposer aux membres d'accepter les cookies, ça ne me dérange absolument pas. De plus il suffit de leur expliquer qu'il s'agit là d'une mesure de sécurité pour eux, et ça devrait bien passer.
Les cookies souffrent surtout d'une bien mauvaise réputation en très grande partie infondée selon moi.


Je suis chez OVH avec un 60Gp, je ne sais pas si j'ai accès au php.ini... A vérifier.

Dans le cas présent ça peut se modifier à la volée dans ton script, via ini_set().


ygalr22
WRInaute discret
WRInaute discret
 
Messages: 137
Inscription: 9 Jan 2008

Message le Sam Déc 13, 2008 19:09

Ok, merci, je me disait bien que c'était pas terrible le sid dans l'url...

Et donc, je ne sais toujours pas comment forcer l'acceptation des cookies.
Via ini_set() ?

Quelqu'un peut m'éclairer?

Merci


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Sam Déc 13, 2008 19:10

Tu ne peux pas. Tu peux le rendre obligatoire, c'est tout.


ygalr22
WRInaute discret
WRInaute discret
 
Messages: 137
Inscription: 9 Jan 2008

Message le Sam Déc 13, 2008 19:20

Ok! autant pour moi, j'avais lu
tu peux aussi passer par le fichier php.ini pour forcer ton client a accepter les cookies.

au lieu de
tu peux aussi passer par le fichier php.ini ou forcer ton client a accepter les cookies.


:oops:

Donc pas de solution , je doit demander au visiteur d'accepter les cookies...
J'ai déja testé cette option, mon problème est que le test pour vérifier si le visiteur accepte les cookies est fait a chaque chargement de page, le visiteur a donc un message d'erreur à chaque page...
J'aimerais faire le test qu'une seul fois et donc envoyer l'erreur qu'une seul fois...
Quel est la meilleur solution?


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Message le Dim Déc 14, 2008 0:08

Ce n'est pas en passant par le fichier php.ini que tu dois forcer le navigateur du client a accepter les cookie mais en lui demandant gentillement avec un message.

Le test tu le fais uniquement sur ta page de connection a l'espace protégé par des sessions.

Code: Tout sélectionner
if(!$_GET['verif_cookie'])
{
setcookie("VerifCookie","1");
header("Location: connection.php?verif_cookie=1");
exit();
}
elseif(empty($_COOKIE['VerifCookie']))
{
?>
<p>les cookies doivent être activés sur votre navigateur !</p>
<?php
exit();
}

?> 


ygalr22
WRInaute discret
WRInaute discret
 
Messages: 137
Inscription: 9 Jan 2008

Message le Dim Déc 14, 2008 18:40

KOogar a écrit:Ce n'est pas en passant par le fichier php.ini que tu dois forcer le navigateur du client a accepter les cookie mais en lui demandant gentillement avec un message.


Oui, j'ai compris après avoir relu! :D

Merci pour votre aide à tous, je pense que je devrais m'en sortir maintenant! :wink:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités