Page 1 sur 1

Cookie, connexion, ..

Posté : 05 mars 2013, 22:54
par Dutienne
Bonjour à tout le monde,
Étant étudiant en Informatique, je découvre HTML, PHP, CSS, ..., mais ayant du mal, j'aurais besoin de votre aide pour réussir à comprendre et faire un petit quelque chose.
Je souhaite faire un site qui a pour première page index.php (par exemple) qui commence par vérifier si l’utilisateur s’est déjà connecté au site ( j'avais pensé à un cookie ‘membre’) ; si oui, l’utilisateur est dirigé vers la page lesite.php.

J'avais pensé à quelque chose de ce style là, mais le hic, c'est que je sais pas comment le faire en php, ...
Sachant que j'avais pensé utiliser un fichier user.dat, contenant les noms de membre et leurs mots de passe cryptés MD5.


Si l’utilisateur ne s’est pas déjà connecté au site Alors
// Utilisation d’un cookie nommé ‘membre’
Choisir entre « déjà membre » et « pas encore membre » // 2 liens hypertextes ?
Si Membre Alors
Écran de connexion (authentification Php)
Saisie login (nom de membre) et mdp
Vérification existence login et mdp dans le fichier user.dat
// le mdp est crypté avec MD5
Sinon
Formulaire d’inscription (login et mdp ; mdp crypté)
Ajout dans le fichier user.dat
Finsi
Finsi



Auriez-vous quelques indices ? Je suis perdu.. Merci d'avance !

Re: Cookie, connexion, ..

Posté : 06 mars 2013, 01:37
par moogli
salut,


comment utiliser les cookies


ensuite ton script semble correcte.


essai de placer un cookie te de le relire (attention pas à la suite ça ne fonctionnera pas il faut au moins un rechargement de page) et si tu as toujours des questions n'hésite pas :)


@+

Re: Cookie, connexion, ..

Posté : 06 mars 2013, 12:38
par xTG
Et petit information, l'algorithme md5 ne crypte pas.
Cela permet de former un hash.
Une fonction qui crypte est basée sur une fonction bijective, à savoir que tu peux appliquer une fonction inverse et retrouver la valeur initiale.
Une fonction de hashage n'est pas bijective, pire encore tu peux obtenir la même valeur hashée à partir de deux valeurs différentes.

Re: Cookie, connexion, ..

Posté : 07 mars 2013, 12:57
par Dutienne
Bonjour, d'abord merci pour votre aide !
J'ai commencé un petit quelque chose, pouvez-vous me dire si cela pourrait convenir, s'il faudrait changer quelques choses, ajouter d'autres éléments et m'aider à comprendre comment faire certaines choses... Une nouvelle fois, merci d'avance.
<?php
/* Existence cookie membre ? */
if(!isset($_COOKIE['membre'])
	
	if(!isset($_SERVER['PHP_AUTH_USER']))
		{
                 Header ('WWW-Authenticate:Basic realm="Authentification"');
	         Header("HTTP/1.0 401 Pas autorisé");
			print("Saisie annulée");
			exit;
		}
		else
		/* Vérification existence login et mdp, à modifier pour que ça lise user.dat, car là c'est surtout pour tester si ça fonctionne. Comment puis-je faire pour que ça lise dans le fichier user.dat ? */
		if ($_SERVER['PHP_AUTHER_USER']=='truc' && $_SERVER['PHP_AUTH_PW']=='toto')                                                                                       
			{ /* Création cookie */
			setcookie('login',$_SERVER['PHP_AUTH_USER'],time() + 86400);
			setcookie('mdp',$_SERVER['PHP_AUTH_PW'],time() + 86400);
                        header("Site : lesite.php");
                        }
		else
			print("Vous n''êtes pas autorisé à utiliser ce site");
			
else
	echo "Bonjour M. ".$COOKIE['login']." et votre mot de passe est ".$_COOKIE[mdp];
	/* Redirection vers la page lesite.php */
         header("Site : lesite.php");
?>

Re: Cookie, connexion, ..

Posté : 09 mars 2013, 00:22
par Perine
Plusieurs trucs concernant les en-têtes. En 2013, il est quand même temps d'utiliser l'HTTP1.1 et non pas HTTP1.0. L'en-tête Site: n'existe pas et il est déconseillé de stocker le pseudo et surtout le mot de passe dans les cookies. Un Id de session serait plus approprié. D'ailleurs PHP contient de base un mécanisme de Sessions très bien fait.

Re: Cookie, connexion, ..

Posté : 26 mars 2013, 18:37
par Dutienne
Je vous remercie pour votre aide.
J'ai réussi à faire ce que je cherchais avec un ami.