Eviter les inscriptions multiple

Eléphant du PHP | 259 Messages

25 nov. 2007, 12:06

Bonjour,

Sur mon site j'ai un espace membre, mais je ne sais pas trop comment éviter les inscriptions multiples d'une même personne.

Dans le formulaire d'inscription je ne demande pas de données personnelles comme l'adresse, le nom..etc, par contre je demande l'e-mail : mais ce n'est pas "crédible" car on peu mettre des fausses addresse, je ne fait pas devalidation par e-mail et même si ça serait le cas on peut créer des adresse e-mail facilement donc ça ne changerais rien.

Je pensais enregistré l'adresse IP dans la base de données et vérifié lorsq'une nouvelle personne s'inscrit si l'ad IP existe déjà ou pas. Mais cela empécherais des membres d'une même famille de s'inscrire et ce n'est pas trés fiable non + car l'adresse IP change.

Donc je ne vois pas d'autre "solution" pour éviter les inscriptions multiples d'une même personne ?

Comment faire à part utilsié l'adresse IP ?

Merci d'avance pour vos réponses.

ViPHP
ViPHP | 4674 Messages

25 nov. 2007, 12:11

Bonjour :)

Je ne vois d'autres solutions que de demander plus d'informations pour pouvoir constituer une clé primaire de plusieurs clés candidates au moins. Par exemple : table(id*, nom*, prénom*, pseudo*, <autres clés>).
L'adresse IP n'est pas du tout une bonne idée. Je vais dans les paramètres de mon routeur, je lui rentre un nouvel IP, et hop. Il faut laisser tomber cette idée.

Tu n'as aucun moyen de vérifier d'après moi. On ne peut que demander un peu plus d'informations, mais là encore, on peut rentrer des noms fictifs très rapidement.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 319 Messages

25 nov. 2007, 12:14

moi je fais ca par adresse email.

apres il peut y avoir des homonymes, les gens peuvent pipoter sur leurs noms/adresses etcetc...

l'IP peut changer donc ca ne me semble pas etre une bonne idee.
niveau: pas terrible en php mais je me soigne...

Eléphant du PHP | 259 Messages

25 nov. 2007, 12:19

Pour les données (coms, prénom..etc), c'est assez facile de mettre des fausses donnée.

Par e-mail ce n'est pas trés efficace non plus, c'est facile de mettre de fausse adresse. Tu fais une validation par e-mail ?

Eléphant du PHP | 319 Messages

25 nov. 2007, 12:33

oui.

maintenant je ne pense pas qu'il y ait de systeme infaillible et si des utilisateurs veulent avoir 10 comptes sur ton site il leur faudra 10 emails...
niveau: pas terrible en php mais je me soigne...

Mammouth du PHP | 2937 Messages

25 nov. 2007, 12:55

Autre solution, attribuer des clés d'index uniques aux colonnes les plus critiques de ta table, dans la base de données, comme la colonne devant recevoir l'adresse e-mail ou celle devant recevoir le nom de la personne qui s'inscrit.

Bref, je renvoie à mes propos tenus sur un autre sujet semblable.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 nov. 2007, 13:11

L'adresse IP n'est pas du tout une bonne idée. Je vais dans les paramètres de mon routeur, je lui rentre un nouvel IP, et hop. Il faut laisser tomber cette idée.
Tu ne changes pas ton adresse IP publique aussi facilement ...

Mais je suis d'accord sur l'idée ... une adresse IP n'est pas obligatoirement unique ...
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

ViPHP
ViPHP | 4674 Messages

25 nov. 2007, 13:44

@zeus : oui c'était juste pour imager mes propos :).

La vérification sur l'adresse e-mail c'est pas bête du tout. Surtout si tu as un service de lecture (newsletters ou autre) qui passe par une adresse email, ça oblige les visiteurs à en donner une valide.
Ou mieux, la confirmation d'inscription se fait par email, tu es donc obligé de donner une adresse mail valide :).
Et s'en suit, toutes les vérifications en cascade : l'adresse mail existe déjà, est-ce que le prénom et nom correspondent etc. ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 445 Messages

25 nov. 2007, 16:35

Tu limites a un seul compte par :
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
En effet, il est simple de changer son adresse IP publique mais beaucoup moins de changer sn hostname.