tps de vie limite d'une connexion

Mammouth du PHP | 1668 Messages

17 juin 2008, 16:25

Il dit que c'est sécurisé, donc il y a un espace membre avec l'id stocké dans les sessions...
<?php
session_start();
$connexion=new PDO(/* ... */);
// Si l'utilisateur n'était pas dans la BDD
if(!$_SESSION['test_user']){
    $connexion->exec("INSERT INTO connectes VALUES('".$_SESSION['id_user']."', '".time()."')");
    $_SESSION['test_user']=1;
}

$requete=$connexion->query("SELECT * FROM connectes"); 
$requete->fetch(PDO::FETCH_OBJ);
if($requete->temps<900) $connexion->exec("UPDATE FROM connectes SET temps='".time()."' WHERE id='".$_SESSION['id_user']."'");
else die('vous avez actualiser votre page il y a plus de 30m, veuillez vous relogguer');
?>
Voilà le travail, en gros, mais les sessions me paraissent plus simple...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Mammouth du PHP | 514 Messages

17 juin 2008, 16:32

Moi ye souis pour les sessions, depuis que ye tenté de faire la gestion d'un panier avec les cookies.

Moins je vois de cookies, mieux je me porte. Ils me servent juste à identifier quelqu'un pour mes login.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 juin 2008, 16:35

Et les sessions ... c'est un cookie sur le client avec un id de session ...

Et il faut savoir que sessid en url est perdu au changement de site.

Donc, ma solution consistant à stocker l'id du membre dans un cookie est aussi sécurisé que la session, puisque le client peut altérer ou supprimer un cookie de session ou un cookie tout court de la même manière.
Mais ma solution est beaucoup plus optimisée puisqu'elle permet d'alléger la base de données et de réduire énormément le nombre de requêtes.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 514 Messages

17 juin 2008, 16:48

Et les sessions ... c'est un cookie sur le client avec un id de session ...

Et il faut savoir que sessid en url est perdu au changement de site.

Donc, ma solution consistant à stocker l'id du membre dans un cookie est aussi sécurisé que la session, puisque le client peut altérer ou supprimer un cookie de session ou un cookie tout court de la même manière.
Mais ma solution est beaucoup plus optimisée puisqu'elle permet d'alléger la base de données et de réduire énormément le nombre de requêtes.
Je ne te rejoins pas là dessus : le mec qui veut changer son numéro de session, faut qu'il trouve un numéro correspondant sur le serveur, ce qui est plus compliqué que d'incrémenter un cookie dans lequel on a placé un id d'utilisateur ...

Mais je ne suis pas non plus pour l'utilisation de la base de données.

Cookie de session, donc, qui ne contient qu'un ID de session généré aléatoirement, hashé en SHA-1, ça me paraît optimisé en matière de sécurité.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 juin 2008, 17:26

Je ne te rejoins pas là dessus : le mec qui veut changer son numéro de session, faut qu'il trouve un numéro correspondant sur le serveur, ce qui est plus compliqué que d'incrémenter un cookie dans lequel on a placé un id d'utilisateur ...
Dans ma solution, le cookie ne contient rien.
Le fait qu'un visiteur contienne le cookie suffit pour savoir qu'il est déjà passé il y a moins de x minutes (durée de vie du cookie)

Je reconnais que je me suis totalement planté dans cette phrase là :?
Donc, ma solution consistant à stocker l'id du membre ...
Je travaillais sur un système où je doit stocker l'id dans le cookie (pas en clair, je vous rassure) et j'ai fait un gros amalgame. Au temps pour moi :oops:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer