Aller au contenu

Sujets conseillés

Posté

Je ne comprend pas trop le principe du cookie :

Je commence par placer le code suivant :

<?php // Envoi d'un cookie qui disparaitra après la fermeture du navigateur
include("config.php");

// On récupere login par la méthode post
$login=$_POST[login];$pass=$_POST[pass];$submit=$_POST[submit];
// On regarde si $login est vide ou pas

if ($login=="")
{ $login=$_GET[login]; // Si le POST na pas récupéré on tente le GET
  if ($login==""){$seloguer="oui";}}

if ($pass=="")
{ $pass=$_GET[pass]; // Si le POST na pas récupéré on tente le GET
  if ($pass==""){$seloguer="oui";}}

else {$md5pass=md5($pass); $pass=$md5pass;}

SetCookie("manucookie", $login="$login", time() + 3600*24 ,0);
SetCookie("manucookie", $pass="$pass", time() + 3600*24,0);

// CONNEXION A LA BASE DE DONNES
$idConnexion = mysql_connect("localhost", $loginadm, $passadm);
$connexionReussie = mysql_select_db("$baseadm");

?>

son but et de tester login et passe puis de les mettre dans le cockie mais la je croit plutot que j'ai fait une coquille lol

Si je rappel la même page le cookie me sort plus rien

Posté

Essai voir avec :

setcookie("manucookie", $login, time() + 3600*24, '/');
setcookie("manucookie", $pass, time() + 3600*24, '/');

Posté

Bonjour,

je dirais plutôt :

setcookie("login",$login, time()+3600*24, "/", $_SERVER['HTTP_HOST'],0);
setcookie("pass",$pass, time()+3600*24, "/", $_SERVER['HTTP_HOST'],0);

Ensuite, tes variables seront accessible grâce au tableau de variables super globales $_COOKIE ... soit : $_COOKIE['login'] et $_COOKIE['pass']

Mais je te mets en garde sur le fait de stocker ton mot de passe en clair dans un cookie, c'est très dangereux. Le cookie étant stocké en local chez l'utilisateur, cela représente un trop grand risque.

Au pire il te faut utiliser un cryptage "irréversible" comme md5 pour stocker ton mot de passe dans la base de donnée et dans le cookie, la comparaison ne se fera que sur le mot de passe crypté et seul celui qui aura enregistré son mot de passe le saura dans sa forme non-cryptée.

Au mieux tu ne communiques pas le mot de passe (même s'il est crytpé dans la base de données) mais une autre variable unique (un "cookie hash") qui change à chaque fois que l'utilisateur se connecte au moyen du formulaire, ainsi seul lui pourra l'utiliser (à moins que le cookie soit volé).

Le but étant d'éviter les tentatives d'attaques avec dictionnaires pour retrouver de mot de passe crytpés.

Posté

C'est vrai c'est mieux de mettre un nom différent pour les deux cookies :D

Je pense quand même que les deux derniers arguments ne sont pas forcément nécessaire.

Posté

Merci grandement, suite à vos conseil je met sur une de mes page en php

<?php

setcookie("login",$login,time()+ 120,"/");

setcookie("pass",$pass,time()+ 120,"/");

?>

Pas de crainte le pass est déja mouliner par la fonction MD5()

Le probléme et que si ensuite j'ouvre ma page du site il ne me creer pas de cookie !! arf

J'ai du oublier un truc ps je met ca au début du body aprés la balise cela à t il une importance ?

Posté

La chose la plus important c'est que aucune information ne soit envoyée au navigateur avant la création du cookie... Il faut donc faire ça AVANT le <html>, avant toute chose, avant tout code HTML, même un espace suffit à faire planter le tout...

Donc voilà où est l'erreur ;)

Posté

test fait je lui balance plein de code au début de page

<?

setcookie("test_nom", "bonjour à tous",time() + 120,$_SERVER['HTTP_HOST']) ;

setcookie("name",LastSigh,time()+ 120);

setcookie("login",$login,time()+ 120);

setcookie("pass",$pass,time()+ 120);

?>

et

<?PHP

setcookie("test_nom", "bonjour à tous",time() + 120,$_SERVER['HTTP_HOST']) ;

setcookie("name",LastSigh,time()+ 120);

setcookie("login",$login,time()+ 120);

setcookie("pass",$pass,time()+ 120);

?>

en ajoutant PHP au cas ou mais rien ne fait je vais dans mon dossier de cookie et tj rien :-(

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...