Aller au contenu

Script anti soumission automatique


Dams

Sujets conseillés

Je crois bien que l'annuaire du référencement est rentrer dans certains outils de soumission automatique... Donc je me retrouve avec des restos tex-mex et des boite de BTP!

Pour réguler tout ca Je cherche un script PHP qui me permettrai de générer des images dynamiquement pour mettre en place un code de validation type soumission Altavista (Mais plus clair ;) ).

Une piste ?

Lien vers le commentaire
Partager sur d’autres sites

Aller Hop c'est parti pour l'exemple :

Il nous faut plusieur script :

  • Un qui calcul la clé
  • Un qui genere l'image

La premiere fonction va créer une clé numérique aléatoirement à chaque affichage de la page :

function cle() { 
$taille = 5;
$chiffre = "123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$key.=substr($chiffre,(rand()%(strlen($chiffre))),1);
}
return($key);
}

Ensuite c'est bien beau d'avoir un numero, on a l'envoier vers la fonctions pour créer l'image :

header ("Content-type: image/jpeg");

// Ici on choisi la hauteur par ex 80*20
$im = imagecreate (80,20) or die ("Probleme de creation GD");
// choix des couleurs ici sa donne du Gris
$background_color = imagecolorallocate ($im, 238, 238, 238);
// Choixde la couleur de la police, ici Noir
$ecriture_color = imagecolorallocate ($im, 0, 0, 0);
//on recupere le texte généré par la fonction cle();
imagestring ($im, 10, 18, 6, $_GET['code'] , $ecriture_color);

imagejpeg($im);

Donc m'aintenant on se retrouve avec une image et un nombre different a chaque reload...

Maintenant on applique la formule magique ;)

Dans un fichier exmple ( gencode.php ) on met la fonctions de création de l'image, il ne doit y avoir que cela.

Dans le fichier exemple ( index.php ) on met la fonctions cle(); et on applique

$code = cle();
<form name="form" method="post" action="verification.php">
<input name="verifCode" type="text" class="input0" id="verifCode" maxlength="5">
<input type="hidden" name="verifCode2" value=<? echo $code; ?>>
<input type="hidden" name="action" value="submit">
<IMG src="gencode.php?code=<? echo $code; ?>">
</form>

Ensuite dans notre fichier verification :

if (($action == "submit") && ($_POST['verifCode'] == $_POST['verifCode2']))  
{ echo "Le code est bon"; } else ...........

Voila si tu comprend pas tout, tu sais ou je suis ? ;)

Lien vers le commentaire
Partager sur d’autres sites

:o Ohhh!

Moi tout comprendre, merci.... :P

Et ca t'a permis d'avoir moins de Spam ? A - que malin que tu es tu l'ai mis en place d'entrée... :)

Lien vers le commentaire
Partager sur d’autres sites

Merci scarabeuz

Ca marche!

Par contre ton script a d'apres moi une petite faille... Le passage du code en clair... Ce que j'ai fait c'est que j'ai enregistré le code dans une session. Comme ca il n'apparait pas...

Car a mon avis les logiciels de soumission automatique ne sont pas completement stupide... Ils doivent pouvoir recuperer le code si il apparait en clair dans le code pour le re-injecter. La tu peux y aller pour le trouver:

http://www.annuaire-referencement.com/nouveausite.php?C=53

:rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Exacte, le passage du Code en clair est une faille "dans les normes" ;)

Tu sais bien comment c'est...... tu code un peu par ci, puis un peu par la tu te dit faut pas oublier de modifier sa et puis hop tu oublie, merci de me l'avoir rapeller :up:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...