Sur un site où les clients doivent ouvrir un compte, le login se fait par un
pseudo choisi par le client.
Sur ce site, il y a une page qui permet au client de mettre à jour ses
données personnelles (coordonnées, etc...).
Une fois que la personne a mis à jour ses données personnelles, il faut
recharger tout cela dans la base et c'est là que j'ai une petite difficultée
au niveau de la sécurité.
J'envisage de recharger les données modifiées dans la base de donnée en
utilisant le pseudonyme indiqué dans la variable $_SESSION de la personne
pour retrouver la fiche à mettre à jour dans la bdd.
Est-ce une methode sure sans risque pour la sécurité ? Ou conseilleriez vous
une autre methode pour mettre à jour la bonne fiche dans la bdd sans risque
qu'une personne puisse mettre à jour la fiche d'un pseudo qui n'est pas le
sien ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
dmetzler
Cela me semble être une bonne solution. C'est le serveur qui gère les données dans les sessions et ce sont donc des données que l'on peut considérer comme sûres.
La mauvaise solution serait de se baser sur la valeur d'une variable stockée dans un cookie sur le client et donc très peu sûre.
Cela me semble être une bonne solution. C'est le serveur qui gère
les données dans les sessions et ce sont donc des données que l'on
peut considérer comme sûres.
La mauvaise solution serait de se baser sur la valeur d'une variable
stockée dans un cookie sur le client et donc très peu sûre.
Cela me semble être une bonne solution. C'est le serveur qui gère les données dans les sessions et ce sont donc des données que l'on peut considérer comme sûres.
La mauvaise solution serait de se baser sur la valeur d'une variable stockée dans un cookie sur le client et donc très peu sûre.
__marc.quinton__
steven wrote:
Est-ce une methode sure sans risque pour la sécurité
non, ce n'est pas sur du tout !
en regle general, il faut transmettre via une variable de session une clé complexe qui varie de maniere aleatoire et eventuellement avec le temps.
* cette clé est "embarquée" dans un cookie et dispose d'une certaine durée de vie,
* il est impossible de trouver de maniere logique une clé permettant de se connecter a un autre compte,
* cette clé peut (et doit ?) etre stockée dans la base de données des users.
Pour finir, il existe des librairies de gestions des logins éprouvées, tu ferais bien d'y regarder d'un peu plus pres.
bon courage.
steven wrote:
Est-ce une methode sure sans risque pour la sécurité
non, ce n'est pas sur du tout !
en regle general, il faut transmettre via une variable
de session une clé complexe qui varie de maniere aleatoire
et eventuellement avec le temps.
* cette clé est "embarquée" dans un cookie et dispose d'une
certaine durée de vie,
* il est impossible de trouver de maniere logique une
clé permettant de se connecter a un autre compte,
* cette clé peut (et doit ?) etre stockée dans la
base de données des users.
Pour finir, il existe des librairies de gestions
des logins éprouvées, tu ferais bien d'y regarder
d'un peu plus pres.
Est-ce une methode sure sans risque pour la sécurité
non, ce n'est pas sur du tout !
en regle general, il faut transmettre via une variable de session une clé complexe qui varie de maniere aleatoire et eventuellement avec le temps.
* cette clé est "embarquée" dans un cookie et dispose d'une certaine durée de vie,
* il est impossible de trouver de maniere logique une clé permettant de se connecter a un autre compte,
* cette clé peut (et doit ?) etre stockée dans la base de données des users.
Pour finir, il existe des librairies de gestions des logins éprouvées, tu ferais bien d'y regarder d'un peu plus pres.
bon courage.
Jean-Marc Molina
a écrit/wrote :
Pour finir, il existe des librairies de gestions des logins éprouvées, tu ferais bien d'y regarder d'un peu plus pres.
La lecture de certains articles peut aussi aider à mettre en place un système en interne : « A Complete, Secure User Login System » http://www.phpbuilder.com/columns/tim20000505.php3 de Tim Perdue (un développeur de SourceForge.net). Aussi l'article « L'authentification sécurisée : Créer son espace sécurisé » http://www.phpteam.net/affiche.php?quoi=authentification1 de Cyril Pierre de Geyer. Ça me fait penser qu'on préparait la mise à jour de l'article sur PHPFrance mais ça n'a jamais été fait... Damn :(. Ou peut-être que si depuis le temps, à voir :).
-- Jean-Marc.
__marc.quinton__@aviation-civile.gouv.fr a écrit/wrote :
Pour finir, il existe des librairies de gestions
des logins éprouvées, tu ferais bien d'y regarder
d'un peu plus pres.
La lecture de certains articles peut aussi aider à mettre en place un
système en interne : « A Complete, Secure User Login System »
http://www.phpbuilder.com/columns/tim20000505.php3 de Tim Perdue (un
développeur de SourceForge.net). Aussi l'article « L'authentification
sécurisée : Créer son espace sécurisé »
http://www.phpteam.net/affiche.php?quoi=authentification1 de Cyril Pierre de
Geyer. Ça me fait penser qu'on préparait la mise à jour de l'article sur
PHPFrance mais ça n'a jamais été fait... Damn :(. Ou peut-être que si depuis
le temps, à voir :).
Pour finir, il existe des librairies de gestions des logins éprouvées, tu ferais bien d'y regarder d'un peu plus pres.
La lecture de certains articles peut aussi aider à mettre en place un système en interne : « A Complete, Secure User Login System » http://www.phpbuilder.com/columns/tim20000505.php3 de Tim Perdue (un développeur de SourceForge.net). Aussi l'article « L'authentification sécurisée : Créer son espace sécurisé » http://www.phpteam.net/affiche.php?quoi=authentification1 de Cyril Pierre de Geyer. Ça me fait penser qu'on préparait la mise à jour de l'article sur PHPFrance mais ça n'a jamais été fait... Damn :(. Ou peut-être que si depuis le temps, à voir :).
-- Jean-Marc.
dalahil
Bonjour,
J'aimerai soulever un petit système de sécurité avec les comptes d'utilisateurs : lorsque l'utilisateur va dans ses options Internet et supprime les cookies, les fichiers temporaires et vide le cache, il pourra se retrouver sur le compte de n'importe quel autre utilisateur.
Pour cela, avant de mettre du html sur ta page index.php, je conseil de faire une vérification de la clé de l'utilisateur :
- Si la clé à une valeur NULL ou n'existe pas ( l'utilisateur a tout effacé ) on affiche un message d'erreur sinon, on continu de manière normal.
- Si la clé existe mais ne correspond pas à celle qui est stocké dans la db, pareil, on affiche un message d'erreur sinon, on continu le script normalement.
Je doit avouer que ce système assez simple est efficace, mais je ne sais pas si il est fiable à 100% ??
Est-ce que l'un d'entre vous a déjà fait un truc dans le genre ??
Cordialement, Dalahil.
Bonjour,
J'aimerai soulever un petit système de sécurité avec les comptes
d'utilisateurs : lorsque l'utilisateur va dans ses options Internet et
supprime les cookies, les fichiers temporaires et vide le cache, il pourra
se retrouver sur le compte de n'importe quel autre utilisateur.
Pour cela, avant de mettre du html sur ta page index.php, je conseil de
faire une vérification de la clé de l'utilisateur :
- Si la clé à une valeur NULL ou n'existe pas ( l'utilisateur a tout
effacé ) on affiche un message d'erreur sinon, on continu de manière normal.
- Si la clé existe mais ne correspond pas à celle qui est stocké dans la db,
pareil, on affiche un message d'erreur sinon, on continu le script
normalement.
Je doit avouer que ce système assez simple est efficace, mais je ne sais pas
si il est fiable à 100% ??
Est-ce que l'un d'entre vous a déjà fait un truc dans le genre ??
J'aimerai soulever un petit système de sécurité avec les comptes d'utilisateurs : lorsque l'utilisateur va dans ses options Internet et supprime les cookies, les fichiers temporaires et vide le cache, il pourra se retrouver sur le compte de n'importe quel autre utilisateur.
Pour cela, avant de mettre du html sur ta page index.php, je conseil de faire une vérification de la clé de l'utilisateur :
- Si la clé à une valeur NULL ou n'existe pas ( l'utilisateur a tout effacé ) on affiche un message d'erreur sinon, on continu de manière normal.
- Si la clé existe mais ne correspond pas à celle qui est stocké dans la db, pareil, on affiche un message d'erreur sinon, on continu le script normalement.
Je doit avouer que ce système assez simple est efficace, mais je ne sais pas si il est fiable à 100% ??
Est-ce que l'un d'entre vous a déjà fait un truc dans le genre ??
Cordialement, Dalahil.
FAb
"dalahil" writes:
Bonjour,
J'aimerai soulever un petit système de sécurité avec les comptes d'utilisateurs : lorsque l'utilisateur va dans ses options Internet et supprime les cookies, les fichiers temporaires et vide le cache, il pourra se retrouver sur le compte de n'importe quel autre utilisateur.
Pour cela, avant de mettre du html sur ta page index.php, je conseil de faire une vérification de la clé de l'utilisateur :
- Si la clé à une valeur NULL ou n'existe pas ( l'utilisateur a tout effacé ) on affiche un message d'erreur sinon, on continu de manière normal.
- Si la clé existe mais ne correspond pas à celle qui est stocké dans la db, pareil, on affiche un message d'erreur sinon, on continu le script normalement.
Je doit avouer que ce système assez simple est efficace, mais je ne sais pas si il est fiable à 100% ??
Est-ce que l'un d'entre vous a déjà fait un truc dans le genre ??
Cordialement, Dalahil.
Comment les utilisateurs s'identifient-ils et s'authentifient-ils sur ton site ???
L'algo ne serait-il pas à l'arrivée sur n'importe quelle page protégée :
- L'utilisateur est-il identifié ? - Non : aller sur la page de login - Oui : Est-il authentifié ? (histoire de la clé) - Non : aller sur la page de login - Oui : aller sur la page demandée.
Après la sécurité est liée à ce que tu stockes dans le cookie : ta clé Quelle forme a-t-elle ? Est-ce une «chose» calculée en fonction du login ? est-ce facile à deviner comment elle est calculée ? Est-elle cryptée ? dépendent-elle que du login ? de l'IP etc...
Si tu as une bonne clé dans le cookie et que la valeur du cookie est vérifiée à chaque page c'est déjà un bon début. Cela protège du vol de session trivial qui consiste à altérer la variable PHPSESSION dans l'url. Mais cela ne protègera pas contre un méchant qui sniffe la connexion mais là c'est de l'artillerie lourde.
Après il faut aussi te méfier dans la page de login à du SQL-injection.
FAb (des idées bien en vrac)
"dalahil" <dalahil@wanadoo.fr> writes:
Bonjour,
J'aimerai soulever un petit système de sécurité avec les comptes
d'utilisateurs : lorsque l'utilisateur va dans ses options Internet et
supprime les cookies, les fichiers temporaires et vide le cache, il pourra
se retrouver sur le compte de n'importe quel autre utilisateur.
Pour cela, avant de mettre du html sur ta page index.php, je conseil de
faire une vérification de la clé de l'utilisateur :
- Si la clé à une valeur NULL ou n'existe pas ( l'utilisateur a tout
effacé ) on affiche un message d'erreur sinon, on continu de manière normal.
- Si la clé existe mais ne correspond pas à celle qui est stocké dans la db,
pareil, on affiche un message d'erreur sinon, on continu le script
normalement.
Je doit avouer que ce système assez simple est efficace, mais je ne sais pas
si il est fiable à 100% ??
Est-ce que l'un d'entre vous a déjà fait un truc dans le genre ??
Cordialement, Dalahil.
Comment les utilisateurs s'identifient-ils et s'authentifient-ils sur ton site
???
L'algo ne serait-il pas à l'arrivée sur n'importe quelle page protégée :
- L'utilisateur est-il identifié ?
- Non : aller sur la page de login
- Oui :
Est-il authentifié ? (histoire de la clé)
- Non : aller sur la page de login
- Oui : aller sur la page demandée.
Après la sécurité est liée à ce que tu stockes dans le cookie : ta clé
Quelle forme a-t-elle ? Est-ce une «chose» calculée en fonction du login ?
est-ce facile à deviner comment elle est calculée ? Est-elle cryptée ?
dépendent-elle que du login ? de l'IP etc...
Si tu as une bonne clé dans le cookie et que la valeur du cookie est vérifiée à
chaque page c'est déjà un bon début. Cela protège du vol de session trivial qui
consiste à altérer la variable PHPSESSION dans l'url. Mais cela ne protègera pas
contre un méchant qui sniffe la connexion mais là c'est de l'artillerie lourde.
Après il faut aussi te méfier dans la page de login à du SQL-injection.
J'aimerai soulever un petit système de sécurité avec les comptes d'utilisateurs : lorsque l'utilisateur va dans ses options Internet et supprime les cookies, les fichiers temporaires et vide le cache, il pourra se retrouver sur le compte de n'importe quel autre utilisateur.
Pour cela, avant de mettre du html sur ta page index.php, je conseil de faire une vérification de la clé de l'utilisateur :
- Si la clé à une valeur NULL ou n'existe pas ( l'utilisateur a tout effacé ) on affiche un message d'erreur sinon, on continu de manière normal.
- Si la clé existe mais ne correspond pas à celle qui est stocké dans la db, pareil, on affiche un message d'erreur sinon, on continu le script normalement.
Je doit avouer que ce système assez simple est efficace, mais je ne sais pas si il est fiable à 100% ??
Est-ce que l'un d'entre vous a déjà fait un truc dans le genre ??
Cordialement, Dalahil.
Comment les utilisateurs s'identifient-ils et s'authentifient-ils sur ton site ???
L'algo ne serait-il pas à l'arrivée sur n'importe quelle page protégée :
- L'utilisateur est-il identifié ? - Non : aller sur la page de login - Oui : Est-il authentifié ? (histoire de la clé) - Non : aller sur la page de login - Oui : aller sur la page demandée.
Après la sécurité est liée à ce que tu stockes dans le cookie : ta clé Quelle forme a-t-elle ? Est-ce une «chose» calculée en fonction du login ? est-ce facile à deviner comment elle est calculée ? Est-elle cryptée ? dépendent-elle que du login ? de l'IP etc...
Si tu as une bonne clé dans le cookie et que la valeur du cookie est vérifiée à chaque page c'est déjà un bon début. Cela protège du vol de session trivial qui consiste à altérer la variable PHPSESSION dans l'url. Mais cela ne protègera pas contre un méchant qui sniffe la connexion mais là c'est de l'artillerie lourde.
Après il faut aussi te méfier dans la page de login à du SQL-injection.