Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/03/2007, 14h50   #1
Futur Membre du Club
 
Inscription : novembre 2005
Messages : 50
Détails du profil
Informations personnelles :
Âge : 45

Informations forums :
Inscription : novembre 2005
Messages : 50
Points : 15
Points : 15
Envoyer un message via ICQ à fabreizhad Envoyer un message via MSN à fabreizhad Envoyer un message via Yahoo à fabreizhad Envoyer un message via Skype™ à fabreizhad
Par défaut Formulaire d'inscription piraté

Bonjour,

J'aimerais savoir comment il serait possible de créer un formulaire dans une page sans que celui-ci ne soit utilisé à des fin de spamming. Sur la page "inscription" du site du club, j'utilise une script passant par un site intermédiaire.

http://www.rcnamur.be/

Ce site intermédiaire propose des services aux webmasters, parmi lesquels, un formulaire paramétrable. Une fois sur le site, il fonctionne très bien mais je reçoit une quantité phénoménale de fausse inscription.

Merci davance d'éclairer ma lanterne...

Fabreizhad ;-)
fabreizhad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 15h03   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Tu peux par exemple générer des codes que l'utilsiateur devra recopier pour valider l'inscription.
De base, il faut partir du principe que l'on peut "flooder" relativement facilement un formulaire et qu'il faut trouver des moyens "intelligents" qui ne valident pas l'inscription de robots.(codes à recopier, répondre à une simple équation mathématique genre pour valider l'inscription ecrire le résultat de 1+2 et d'autres moyens encore).
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 19h35   #3
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
http://fr.wikipedia.org/wiki/Captcha

http://www.cryptographp.com/

http://www.developpez.net/forums/sho...d.php?t=256635

Pour ma part, j'utilise une image assez facile à lire, de ce genre :



Et je limite le nombre d'inscription dans le temps pour une même IP ou pour une même adresse mail.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2007, 23h49   #4
Futur Membre du Club
 
Inscription : novembre 2005
Messages : 50
Détails du profil
Informations personnelles :
Âge : 45

Informations forums :
Inscription : novembre 2005
Messages : 50
Points : 15
Points : 15
Envoyer un message via ICQ à fabreizhad Envoyer un message via MSN à fabreizhad Envoyer un message via Yahoo à fabreizhad Envoyer un message via Skype™ à fabreizhad
Merci...

Je vais essayer cela dès demain et je vous tiens au courant...

Fabreizhad ;-)
fabreizhad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 01h12   #5
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Attention à une chose importante concernant la sécurité (ce n'est pas évident à expliquer en plus) :

• L'utilisateur doit renvoyer la saisie de ce qu'il lit dans l'image, mais également un code fourni par le serveur. Ce-dernier permettra au serveur, de comparer le code saisi par l'utilisateur avec le code contenu dans l'image. Ce code se trouvera dans le formulaire dans un champs caché et sera donc renvoyer au serveur lorsque le formulaire sera validé. Il faudra mettre dans ce champs caché, le md5 d'un nombre aléatoire (uniqid) que tu sauveras aussi sur le serveur. De cette manière, seul le serveur pourra savoir que tel code aléatoire va avec telle image... tu me suis ?

• Bien entendu, il ne faut pas nommer l'image avec un nom se rapportant au code qu'elle contient. Il faut nommer l'image avec un nom aléatoire.

• Il faut supprimer l'image sur le serveur dès que le formulaire a été validé de façon à ce qu'une image ne soit valable que pour une seule saisie. Même si le code saisi par l'utilisateur ne correspond pas, il faudra supprimer l'image et lui en donner une nouvelle. Dans tous les cas, il faut bien faire attention à ce qu'une image de code ne soit valable qu'un certain temps et qu'elle soit supprimée dès la première comparaison.

• Dernière chose : Il est bien d'ajouter une fonction qui supprime les anciennes images des inscriptions non validées. Il faut nettoyer le dossier lorsqu'une image est créée. Par exemple, faire le ménage dans le dossier "tmp" des fichiers de plus de 10 minutes :
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function NettoyageTmp(){
  $dirname='tmp/';
  if(!@is_dir($dirname)) return false;
  @chdir($dirname);
  $dossier=@getcwd(); 
  if($handle=@opendir($dossier)){
    while(($file=@readdir($handle))!==false){
      if((@filectime($file)+(10*60)-time())<=0){
        @chown($file, 'root');
        @chgrp($file, 'root');
        @chmod($file, 0777);
        @unlink($file);
      }
    }
    @closedir($handle);
    return true;
  }
  return false;
}

Si tu as besoin de plus d'explications, pose-nous des questions précises.
Bon courage, à+
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h59.


 
 
 
 
Partenaires

Hébergement Web