Page 1 sur 1

créer un lien unique

Posté : 19 sept. 2007, 11:12
par Monnier
bonjour a toute la communauté ! :P

je seche au niveau d'une question qui me semble vital !
J'aimerai créer un lien unique que l'on enverrai dans un email qui loguerai automatiquement la personne sur le site, mais comment faire...
Si j'envoi une reference de la bdd, et que je le log automatiquement il suffirait de copier coller le lien a une autre personne pour qu'il soit loguer sur le compte de la personne ...
je cherche donc des ptits indice :)
merci!

Re: créer un lien unique

Posté : 19 sept. 2007, 11:19
par Calimero
J'aimerai créer un lien unique que l'on enverrai dans un email qui loguerai automatiquement la personne sur le site, mais comment faire...
Si j'envoi une reference de la bdd, et que je le log automatiquement il suffirait de copier coller le lien a une autre personne pour qu'il soit loguer sur le compte de la personne ...
Bonjour,

Le schéma que tu imagines semble être le bon. A priori le fait de logguer automatiquement n'est pas gênant, puisque tu sais que tu as envoyé ce lien à la bonne personne. Ce qu'elle en fait derrière (le communiquer à une tierce personne par exemple) ne regarde qu'elle et ne doit pas te gêner :-)

Si tu souhaites éviter que plusieurs personnes n'utilisent le même lien pour contourner une restriction d'accès par exemple, tu peux supprimer l'enregistrement dans la table correspondant au lien dès que tu détectes sa première utilisation. Comme cela il ne servira qu'une seule fois maximum. Dans tous les cas, ce genre de "lien d'autologin" devrait être limité dans le temps, sinon c'est une faille de sécurité.

Posté : 19 sept. 2007, 11:26
par Monnier
humm ok ok mais par exemple, une personne est inscrite sur une site pour acceder au telechargement de quelque chose sur se site. Lorsqu'elle clic dessus elle accede donc a son contenu, mais moi si je clic dessus je dois me loguer. Comment cela se fait-il?
le lien a cet forme: Issue.cfm?issue=070919.982466.47943&user=son_nom

Si son nom et son passe est envoyé en parametre, alors je devrai pouvoir être loguer avec son nom et passe mais non ...
Explication? :shock:

Posté : 19 sept. 2007, 11:36
par Calimero
humm ok ok mais par exemple, une personne est inscrite sur une site pour acceder au telechargement de quelque chose sur se site. Lorsqu'elle clic dessus elle accede donc a son contenu, mais moi si je clic dessus je dois me loguer. Comment cela se fait-il?
le lien a cet forme: Issue.cfm?issue=070919.982466.47943&user=son_nom

Si son nom et son passe est envoyé en parametre, alors je devrai pouvoir être loguer avec son nom et passe mais non ...
Explication? :shock:
Déjà, si le lien est envoyé dans un email, on part du principe que l'utilisateur n'est pas identifié au site, puisque le lien va ouvrir un nouveau navigateur. Lorsque le lien est cliqué, il faut donc l'identifier de manière systématique (une fois que le code du lien est validé bien évidemment). Passer le login et le mot de passe dans le lien est tout à fait faisable mais la plupart du temps ce n'est pas judicieux... Déjà car le mot de passe n'est pas impératif (puisque ce lien a été envoyé par email à une adresse email associée à un utilisateur précis). Ensuite, le login lui-même est certainement retrouvé par le site uniquement à l'aide du code. La table contenant ces codes uniques contient une clé étrangère qui permet de retrouver quel code appartient à quel utilisateur, et inversement. Le code se suffit donc à lui-même dans ce cas.

Il ne reste qu'à ajouter une sécurité dans le temps (validité du lien limité à 24h, une semaine, un mois... n'importe quelle valeur arbitraire que tu juges suffisante) ou dans le nombre d'utilisations possibles du lien (1 fois maximum par exemple) pour rendre le système assez sûr :-)

Posté : 19 sept. 2007, 11:40
par Monnier
oui mais alors comment cela se fait-il que si ce lien permet un log automatique, lorsque je clic dessus je suis redirigé sur la page login.

Est ce que la seul securité de ce lien est le nombre de fois ou il est valide?

Posté : 19 sept. 2007, 11:44
par Calimero
oui mais alors comment cela se fait-il que si ce lien permet un log automatique, lorsque je clic dessus je suis redirigé sur la page login.

Est ce que la seul securité de ce lien est le nombre de fois ou il est valide?
Je ne comprends pas bien ta question.

Déjà le lien que tu donnes (en "exemple" ???) pointe sur un site ColdFusion alors qu'ici on parle de PHP. Ensuite tu dis vouloir concevoir un système et non en étudier un existant. Enfin, difficile de te dévoiler les secrets de tel ou tel système existant si tu n'en montres pas le code source :roll:

Posté : 19 sept. 2007, 11:50
par Monnier
ouai no c'est bon merci.
Si j'ai bien compris le seul moyen de loguer une personne avec securité du lien sur un site est de limité l'acces a ce lien à une fois ou dans le temps ?

:?

Posté : 19 sept. 2007, 12:11
par Calimero
ouai no c'est bon merci.
Si j'ai bien compris le seul moyen de loguer une personne avec securité du lien sur un site est de limité l'acces a ce lien à une fois ou dans le temps ?

:?
Oui, avec des critères de vérification libres. Tu peux durcir encore ces règles, par exemple n'autoriser une seule l'accès par ce lien à une seule et même ip à partir du premier clic (un peu sadique mais ça peut aider le développeur parano, et à la fois embêter l'utilisateur en IP dynamique qui subit une déconnexion toutes les 2 minutes... C'est un exemple) ou les assouplir selon tes besoins et les comportements de tes utilisateurs.

Quoiqu'il en soit, ce genre de lien est une porte dérobée d'accès au site pour le confort de l'internaute, qui permet sous certaines conditions (soigneusement choisies par le développeur) de contourner l'identification par login/password traditionnelle. donc un risque de sécurité potentiel à surveiller.