[PHP] Protection livre d'or contre spam
Dernière réponse : dans Programmation
Bonjour à tous,
Je me fais polluer mon livre d'or par des spam. J'ai donc pensé à un filtre via des chiffres à recopier.
Ensuite, dans un if, je mets la condition si les chiffres sont bien recopiés, alors j'enregistre le message. Sinon le formulaire est réinitialisé.
Mon verrouillage est-il efficace ? suffisant ?
Merci.
Voir mon livre d'or
Je me fais polluer mon livre d'or par des spam. J'ai donc pensé à un filtre via des chiffres à recopier.
Ensuite, dans un if, je mets la condition si les chiffres sont bien recopiés, alors j'enregistre le message. Sinon le formulaire est réinitialisé.
Mon verrouillage est-il efficace ? suffisant ?
Merci.
Voir mon livre d'or
Autres pages sur : php protection livre contre spam
Lassé par la pub ? Créez un compte
je l'ai fait tout seul comme un grand ! je commence à comprendre quelques bases en php maintenant...
En fait (j'ai pas mon code sous les yeux là) j'ai mis un if juste apres la déclaration des variables et la vérification de leur existence. Donc mon if c'est si le champ de saisie des caracteres de l'image contient les bons caracteres (l'image reste tjs la meme). Si oui, il autorise l'enregistrement des variables dans la bdd, sinon j'ai juste mis un else{} avec rien dedans. C'est pas genant j'espere !
En fait (j'ai pas mon code sous les yeux là) j'ai mis un if juste apres la déclaration des variables et la vérification de leur existence. Donc mon if c'est si le champ de saisie des caracteres de l'image contient les bons caracteres (l'image reste tjs la meme). Si oui, il autorise l'enregistrement des variables dans la bdd, sinon j'ai juste mis un else{} avec rien dedans. C'est pas genant j'espere !
juste comme ça, ça s'appelle un CAPTCHA
D'apres ce que j'ai lu, le plus "simple" et accessible à tous est de mettre des images de chiens et de chats et de demander si c'est un chien ou un chat sur la photo
Alors qu'un OCR peut lire une image basée sur des lettres, seul un humain est capable de faire la différence entre ces animaux !
D'apres ce que j'ai lu, le plus "simple" et accessible à tous est de mettre des images de chiens et de chats et de demander si c'est un chien ou un chat sur la photo
Alors qu'un OCR peut lire une image basée sur des lettres, seul un humain est capable de faire la différence entre ces animaux !
oh mais c'est pas bete cette histoire ça ! genre dire combien y'a de chiffres paires, ou de lettres dans un mélange de lettres et de chiffres, ou de dire quelle est la couleur du rond dans un mélange de figures géométriques, ou de donner le nom de l'animal sur l'image sans laisser de choix pour éviter les stats...
tellement efficace que personne ne peut écrire ! comprends pas, j'ai mis EXACTEMENT le meme sur ce site http://jeanmarion.free.fr et ca marche nickel.
voici mon code:
Au secours!!
voici mon code:
<div id="formulaire_guestbook">
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message']) AND isset($_POST['antispam'])) // Si les variables existent
{
if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{
if ($antispam == "6735")
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "monsite", "mdp");
mysql_select_db("guestbook");
// On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
$pseudo = htmlentities ($_POST['pseudo']);
$message = htmlentities ($_POST['message']);
$message = nl2br($message);
// Ensuite on enregistre le message
mysql_query("INSERT INTO guestbook VALUES('', '$pseudo', '$message')");
// On se déconnecte de MySQL
mysql_close();
}
else {}
}
}
?>
<form action="index.php" method="post">
<p>* Votre pseudo :<br /><input type="text" name="pseudo" size="15" /></p>
<p>* Votre message :<br /><textarea name="message" rows="6" cols="30"></textarea></p>
* Recopiez les caractères :<br />
<table width="50%">
<tr>
<td valign="center">
<img src="antispam.jpg" />
</td>
<td valign="center">
<input type="text" name="antispam" size="4" />
</td>
<td valign="center">
<input type="submit" value="Valider" />
</td>
</tr>
</table>
<span class="champ_obligatoire">* = champ obligatoire</span>
</form>
</div>
<?php
// Maintenant on doit récupérer les entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "monsite", "mdp");
mysql_select_db("guestbook");
// On utilise la requête suivante pour récupérer les messages :
$recup = mysql_query("SELECT * FROM guestbook ORDER BY ID DESC");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($recup) )
{
?>
<div id="guestbook">
<?php
echo '<p>Message de <span class="pseudo">'. $donnees['pseudo'] .'</span> :</p><p class="message">' . $donnees['message'] .'</p>';
?>
</div>
<?php
}
// Fin de la boucle
?>
Au secours!!
Parce que l'autre doit reconnaître les variables globales, mais pas celui-là...
En php/mysql, j'ai testé :
http://www.amazon.fr/exec/obidos/ASIN/2841773388/sitedu... : très bien pour débuter en php et mysql ; dommage que le code html soit tout pourri...
http://www.amazon.fr/PHP-5-avanc%C3%A9-Eric-Daspet/dp/2... : vraiment complet pour se mettre au php 5 orienté objet. Mais un peu délicat pour un débutant. A lire après le précédent
http://www.amazon.fr/MySQL-ladministrateur-d%C3%A9velop... : très complet sur mysql 5. Idem, à lire après le premier de la liste, sous peine de te perdre dans un univers d'incompréhension^^
En php/mysql, j'ai testé :
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumContre le spam - images de confirmation
- ForumBelle victoire de microsoft contre le spam
- benchmarkAnno 1701 protection contre la copie
- ForumDvd shrink protection contre copie
- ForumProtection contre les ruptures activés nero
- ForumProtection contre av security suite
- ForumProtection contre les plantages
- ForumProtection contre sniffer réseau d résolu
- ForumProtection dvd contre copie
- ForumQuelle protection contre virus et spyware
- Voir plus