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 09/07/2007, 18h10   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 11
Points : 2
Points : 2
Par défaut Messages indésirables formulaire

Bonjour,
j'ai résolu un problème avec "htmlspecialchars".
Mais maintenant, il y a des imbéciles qui continuent de placer
des messages, qui ne bloquent pas mon site, mais ils polluent.
Et je dois les supprimer manuellement.
Un exemple de ce que je lis:
---------------------
lihehrrpl dlcmfy@[!8].net
Ohh z nice site! fbyofc <a href= http://ataslolaguide.com/world-lolit...orum-peru.html >
lolita bbs forum Peru</a>
lolita bbs forum Peru
<a href= http://ataslolaguide.com/lolita-bbs-...s-hungary.html >cache lolita bbs Hungary</a>
cache lolita bbs Hungary
<a href= http://ataslolaguide.com/free-lolita...s-algeria.html >beam great lolita bbs Algeria</a>
beam great lolita bbs Algeria
---------------------
Je voudrais placer sur ma page d'input (php) un filtre, (formulaire)
pour bloquer ces indésirables.
si quelqu'un peur m'aider ?
Merci.
gcaed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 19h11   #2
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Il y a soit les captchas (bof...), ou soit la méthode que je préfère, une question que tu poses dans ton formulaire, du genre "combien font trois fois sept ?" ou encore "De quelle couleur est le mot couleur dans cette phrase ?", 'fin des questions à la portée de tous sauf des robots
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 19h47   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 11
Points : 2
Points : 2
Citation:
Envoyé par Xunil
soit la méthode que je préfère, une question que tu poses dans ton formulaire, du genre "combien font trois fois sept ?" ou encore "De quelle couleur est le mot couleur dans cette phrase ?", 'fin des questions à la portée de tous sauf des robots
Salut,
tu peux me donner un exemple ?

Merci.
gcaed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 20h18   #4
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Un exemple vite fait alors

Code :
1
2
3
4
5
6
7
8
9
10
$arrQuestion = array(1=>array('Combien font trois fois sept ?', 21),
array('De quelle couleur est le ciel ?', 'bleu'));
 
//Ton formulaire
echo '<form method="post">';
 
// champ de contrôle
$controleId = mt_rand(1, count($arrQuestion));
echo '<input type="hidden" name="controleId" value="' . $controleId . '">';
echo $arrQuestion[$controleId][0] . ' <input type="text" name="controle">';
Et dans le traitement du form
Code :
1
2
3
4
if ( !empty($_POST['controleId']) && array_key_exists($_POST['controleId'], $arrQuestion) && !empty($_POST['controle']) && strtolower(trim($_POST['controle'])) == strtolower(trim($arrQuestion[$_POST['controleId']][1])) )
{
    // réponse correcte
}
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 21h51   #5
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Autre solution aussi et plus standard, mettre en place un générateur d'image chiffrée.

comme sur les forums, etc... ainsi les bots ne peuvent pas faire du spam...

Principe:

générer un nombre aléatoire, placer ce nombre dans une variable.

Ensuite générer une image avec ce nombre via la GD.

Puis comparer la variable, avec ce qu'a introduit la personne.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 04h40   #6
Membre confirmé
 
Avatar de max44410
 
Étudiant
Inscription : juin 2003
Messages : 426
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2003
Messages : 426
Points : 259
Points : 259
Envoyer un message via MSN à max44410 Envoyer un message via Skype™ à max44410
Citation:
Envoyé par Sayrus
Autre solution aussi et plus standard, mettre en place un générateur d'image chiffrée.

comme sur les forums, etc... ainsi les bots ne peuvent pas faire du spam...

Principe:

générer un nombre aléatoire, placer ce nombre dans une variable.

Ensuite générer une image avec ce nombre via la GD.

Puis comparer la variable, avec ce qu'a introduit la personne.
c'est ce que l'on appel : "des captchas"

cf. première réponse...
__________________
Venez voir par là...
max44410 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 08h28   #7
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
une autre possibilité a été évoquée ici :
http://www.developpez.net/forums/sho...2&postcount=84
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 09h37   #8
Invité de passage
 
Inscription : juillet 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 11
Points : 2
Points : 2
Un peu compliqué pour moi!
Est-ce que si je vous donne le code de mon formulaire vous
pourrez me le corriger pour ajouter ces codes ?
gcaed.
gcaed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 11h29   #9
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Citation:
Envoyé par gcaed
Un peu compliqué pour moi!
Est-ce que si je vous donne le code de mon formulaire vous
pourrez me le corriger pour ajouter ces codes ?
gcaed.
non... j'ai pas encore abstrait tout ca dans une belle classe réutilisable... quand j'aurais du temps... (sic !)
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag 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 09h20.


 
 
 
 
Partenaires

Hébergement Web