Info d'un cookie session_start()

Répondre
subrally
le 15/07/2009 à 15:14
subrally
bonjour,

j'ai cherché sur le forum mais je n'ai pas trouve de réponse a mon probléme..

quand un utilisateur se connect sur mon site avec son login pass

je fais ceci:
<?php
session_register("connection");
$_SESSION['login'] = $row["login"];
$_SESSION['id'] = $row["id"];
$_SESSION['ssap'] = $row["pass"];
?>


biensure j'ai fait mon session_start() au tous début de mon code

quand un utilisateur se déconnect je fais ceci:
<?php
session_unset("connection");
session_destroy();
?>


mon probléme qui n'est pas réellement un probléme on va dire

1) quand un utilisateur vien pour la premiére fois sur le site et qu'il va sur n'importe quel lien le lien apparait comme:
http://www.monsite.com/blablabla?PHPSESSID=52e5e3d9ccdc7094cceb12748a1a9d66
d'ou sort ce PHPSESSID? peut on l'enlever?

2) Quand je regarde le cookie qu'il crée je voie les info comme:
- Nom: PHPSESSID
- Hote: www.monsite.com
- Expire: à la fin de la session
Je voudrais changer les infos du cookie, est-ce qu on peut j'en suis sure, mais comment?

3) y a il des probleme de sécurité? d'autre facon d'amélioré ceci? pour éviter toute acte de piraterie, etc..

En résume mon code:
index.php:

<?
session_start();
if(!session_is_registered("connection") && $_GET["action"] == 'login') {
- vérifie les donné sur la base de donné
if(Les données sont bon) {
session_register("connection");
$_SESSION['login'] = $row["login"];
$_SESSION['id'] = $row["id"];
$_SESSION['ssap'] = $row["pass"];
}
}
if(session_is_registered("connection") $_GET["action"] == 'deconnect') {
session_unset("connection");
session_destroy();
}
?>


voila voila merci d'avance :)
LA GLOBULE
le 15/07/2009 à 15:32
LA GLOBULE
Ton identifiant de session passe dans l'URL au lieu d'un cookie.

Essaye de faire un ini_set('session.use_only_cookies', '1'); avant de démarrer tes sessions dans tes .php.

PS : Merci d'utiliser le BB-Code pour la prochaine fois, ca me fatigue de modifier vos messages.
subrally
le 15/07/2009 à 15:46
subrally
le init_set ne change rien:/

désole pour le code je m'en suis rendu compte quand j'avais déja posté :/
LA GLOBULE
le 15/07/2009 à 16:59
LA GLOBULE
Et en forcant le truc avec un :
ini_set('session.use_only_cookies', '1');
et un :
ini_set('session.use_only_cookies', '0');

?

Sinon, ben il te faut modifier le php.ini en y collant ces valeurs.
subrally
le 16/07/2009 à 10:34
subrally
ini_set('url_rewriter.tags','form=fakeentry');

ça a l air de macher avec ca
subrally
le 24/07/2009 à 12:50
subrally
bonjour,

j'aimerais faire une connexion automatique avec les session et non les cookie vue que j'utilise les sessions

j'ai vue plein de tuto mais il parle a chaques fois de cookie

mon code est poster dans le 1ere post
LA GLOBULE
le 24/07/2009 à 13:33
LA GLOBULE
Oui, tu dois utiliser un cookie pour faire une connexion automatique.

(Puis entre nous, une session, c'est en fait un cookie. Donc cela revient au même)
subrally
le 25/07/2009 à 18:13
subrally
j'ai fait un tit script que je met au début de mon index.php

<?
session_start();
if(!isset($_SESSION['id']) && isset($_COOKIE['test_cookie'])){
$tc = explode('#', $_COOKIE['bachatissus']);
$pseudo = isset($tc[0]) ? ( get_magic_quotes_gpc() ? $tc[0] : $tc[0]) : '';
$password = isset($tc[1]) ? $tc[1] : '';
connexion('base de donné');
$result = mysql_query("SELECT id, login, pass FROM user WHERE login='".$pseudo."' AND pass='".$password."'");
$row = mysql_fetch_array($result);
if(mysql_num_rows($result) == 1) {
$_SESSION['login'] = get_magic_quotes_gpc() ? $pseudo : stripslashes($pseudo);
$_SESSION['pass'] = $row["pass"];
$_SESSION['id'] = $row['id'];
}
mysql_close();
}
?>


biensure quand l'utilisateur se connect:

<?
session_register("connection");
$_SESSION['login'] = $row["login"];
$_SESSION['id'] = $row["id"];
$_SESSION['pass'] = $row["pass"];
setcookie('test_cookie', $row["login"] . '#' . $row["pass"], ( time() + 86400 * 90 * 90 ));
?>


mais ca n'a pas l'air de marcher :/
LA GLOBULE
le 25/07/2009 à 18:59
LA GLOBULE
C'est normal de tester le cookie $_COOKIE['test_cookie'], puis d'utiliser le cookie $_COOKIE['bachatissus'] ?

A priori, c'est $_COOKIE['test_cookie'] que tu dois utiliser.
subrally
le 25/07/2009 à 19:31
subrally
sorry j'avais oublié de masqué le nom de ce dernier ^^

ils ont le meme nom :)
Répondre
LoadingChargement en cours