Accueil > > > ANTI-SPAM SIMPLE À INSERER MAIS NÉCESSITE BDD
ANTI-SPAM SIMPLE À INSERER MAIS NÉCESSITE BDD
Information sur la source
Description
Anti-spam, fonctionnant comme un captcha, simple à installer mais nécessitant une base de données. J'ai créé cet anti-spam, car je n'ai jamais compris comment insérer un captcha à mes formulaires (des fois dans la vie il y a des choses que l'ont ne comprends pas et on y peut rien xD). Donc je pense que cela peut servir. Vos avis m'intéressent!! Alors n'hésitez pas.
Source
- // Source: aeroth-design (azumi13)
- // Decomposition:
- // 3 fichiers + 1 table sql
- // 1: configuration d'acces bdd
- // 2: votre formulaire
- // 3: validation de votre formulaire ou envoie de votre mail
- // 4: votre table sql
-
-
- // 1: Fichier config.php
-
- <?php
- $serveur = 'localhost';
- $login = '';
- $mdp = '';
- $base = '';
- ?>
-
-
- // 2: Votre formulaire, dans les balises <form>
-
- <?php
- include ('config.php');
- mysql_connect($serveur,$login,$mdp);
- mysql_select_db($base);
- $sql = mysql_query('SELECT * FROM captcha ORDER BY rand() LIMIT 1');
- $data = mysql_fetch_array($sql);
- echo ''.$data['question'].'';
- ?>
- <input type="text" name="reponse" />
- <input type="hidden" name="id" value="<?php echo $data['id']; ?>" />
-
-
- // 3: Dans votre fichier de validation ou d'envoi de mail
-
- <?php
- include ('config.php');
- mysql_connect($serveur,$login,$mdp);
- mysql_select_db($base);
- $sql2 = "SELECT reponse FROM captcha WHERE id='".$_POST['id']."'";
- $req2 = mysql_query($sql2) or die('Erreur !<br>'.$sql2.'<br>'.mysql_error());
- $data2 = mysql_fetch_array($req2);
-
- if( $_POST['couleur'] != $data2['reponse'])
- {
- echo '<br><br><center><b><p>Mauvaise réponse !!</p></b></center>';
- include('lien vers votre formulaire');
- exit;
- }
- ?>
-
- // 4: Votre table
-
-
- DROP TABLE IF EXISTS `captcha`;
- CREATE TABLE IF NOT EXISTS `captcha` (
- `id` int(11) NOT NULL auto_increment,
- `question` text NOT NULL,
- `reponse` text NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
-
- INSERT INTO `captcha` (`id`, `question`, `reponse`) VALUES
- (1, 'La neige est de couleur :', 'blanche'),
- (2, 'Une tomate est de couleur :', 'rouge'),
- (3, 'Le cotton est de couleur :', 'blanche'),
- (4, 'La carotte est de couleur :', 'orange'),
- (5, 'Le citron est de couleur :', 'jaune'),
- (6, 'Combien fait 2+2 :', '4'),
- (7, 'Combien fait 10-5 :', '5'),
- (8, 'Combien fait 1+9', '10'),
- (9, 'Combien fait 2x4 :', '8'),
- (10, 'Combien fait 3x4 :', '12');
- //Possibilité de rajouter autant de question que l'on souhaite
-
- //LE ZIP CONTIENT UN EXEMPLE ET TOUT EST COMMENTE POUR MIEUX S'Y RETROUVER.
// Source: aeroth-design (azumi13)
// Decomposition:
// 3 fichiers + 1 table sql
// 1: configuration d'acces bdd
// 2: votre formulaire
// 3: validation de votre formulaire ou envoie de votre mail
// 4: votre table sql
// 1: Fichier config.php
<?php
$serveur = 'localhost';
$login = '';
$mdp = '';
$base = '';
?>
// 2: Votre formulaire, dans les balises <form>
<?php
include ('config.php');
mysql_connect($serveur,$login,$mdp);
mysql_select_db($base);
$sql = mysql_query('SELECT * FROM captcha ORDER BY rand() LIMIT 1');
$data = mysql_fetch_array($sql);
echo ''.$data['question'].'';
?>
<input type="text" name="reponse" />
<input type="hidden" name="id" value="<?php echo $data['id']; ?>" />
// 3: Dans votre fichier de validation ou d'envoi de mail
<?php
include ('config.php');
mysql_connect($serveur,$login,$mdp);
mysql_select_db($base);
$sql2 = "SELECT reponse FROM captcha WHERE id='".$_POST['id']."'";
$req2 = mysql_query($sql2) or die('Erreur !<br>'.$sql2.'<br>'.mysql_error());
$data2 = mysql_fetch_array($req2);
if( $_POST['couleur'] != $data2['reponse'])
{
echo '<br><br><center><b><p>Mauvaise réponse !!</p></b></center>';
include('lien vers votre formulaire');
exit;
}
?>
// 4: Votre table
DROP TABLE IF EXISTS `captcha`;
CREATE TABLE IF NOT EXISTS `captcha` (
`id` int(11) NOT NULL auto_increment,
`question` text NOT NULL,
`reponse` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
INSERT INTO `captcha` (`id`, `question`, `reponse`) VALUES
(1, 'La neige est de couleur :', 'blanche'),
(2, 'Une tomate est de couleur :', 'rouge'),
(3, 'Le cotton est de couleur :', 'blanche'),
(4, 'La carotte est de couleur :', 'orange'),
(5, 'Le citron est de couleur :', 'jaune'),
(6, 'Combien fait 2+2 :', '4'),
(7, 'Combien fait 10-5 :', '5'),
(8, 'Combien fait 1+9', '10'),
(9, 'Combien fait 2x4 :', '8'),
(10, 'Combien fait 3x4 :', '12');
//Possibilité de rajouter autant de question que l'on souhaite
//LE ZIP CONTIENT UN EXEMPLE ET TOUT EST COMMENTE POUR MIEUX S'Y RETROUVER.
Conclusion
c'est une sécurité simple contre le spam.
Historique
- 22 août 2008 06:05:29 :
- ajout d'un commentaire =)
- 23 août 2008 11:25:29 :
- Correction ajout de la variable $base au fichier config.php et ajout de conexion bdd au fichier de validation
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
captcha [ par aamsa ]
Bonsoir a tous, j'ai cree une formulaire et j'aimerais ajouter un captcha anti-spam, j'ai googlee mais j'ai pas comprendre comment fonctionne ce captc
Souci formulaire contact php avec captcha [ par snip74 ]
Bonjour, je fait appel a vous car je pète un câble lol. Voila j'ai trouvé un système de captcha je les mis sur mon formulaire de contact et rien ne
formulaire php htlm / captcha [ par djbabou ]
Bonjour, a tous J'ai développé un formulaire dans lequel j'ai intégrer un captcha image. Comme tous captcha normalement construit, après soumission d
Validation de formulaire avec Adobe Spry et Zend_captcha [ par maryleo ]
Bonjour à tous! Excusez-moi de vous déranger, mais cela fait trois jours que je suis coincé sur un projet. Je développe actuellement un site web dans
besoin pour inserer captcha [ par gilou312 ]
bonjour, je voudrais inserer une captcha pour mon formulaire de contact, j'ai essayé de trouver des formulaires avec captcha integrer et verification
valider un formulaire coté serveur [ par 77dom77 ]
Bonjour! Je fais une fois de plus appel votre soutien technique! Dans la partie administrateur de mon site, je souhaite mettre en ligne des informat
PHP MySQL requete d'affichage [ par babygamer ]
Bonjours a tous et a toutes !! voici mon problème: Je voudrai récupérer une valeur saisi dans un formulaire afin de la tester si elle est égale a la c
formulaire et api youtube [ par lezj ]
bonjour à tous alors je viens vous exposer un problème que je rencontre en ce moment. je programme en ce moment un site web en php au sein duquel un
formulaire php [ par papdak ]
Bonjour à tous j'ai vraiment besoin de votre aide, car je suis entrain de créer le site web de mon ecole, et j'ai besoin de faire un formulaire d'insc
aidez moi s'il vous plais [ par papdak ]
Bonjour à tous j'ai vraiment besoin de votre aide, car je suis entrain de créer le site web de mon ecole, et j'ai besoin de faire un formulaire d'insc
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
SYSTEME D'AMISYSTEME D'AMI par moza2409
Cliquez pour lire la suite par moza2409
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|