website logo
Auteur
avatar
tifcc

Forum » » Sécurité » » modifs de l'antispam


Posté : 2 juil. 2008 à 23:19 icone du post

petite récap:

Q_spambot:


$asb_question = array (
   '(6 moins 5 )'           => 1,
     'couleur du ciel '           => 'bleue',
   'couleur du cheval blanc d'HenriIV'           => 'blanc',
   '3 moins 0 moins 1'         => 2,
   '(8 divisé par 2) puis moins 1'       => 3,
   '(1 plus 1) ajouté à  (1 plus 1)' => 4,
   '2 plus 1 plus 1 plus 1'     => 5,
   '0 ajouté à  (8 moins 2)'       => 6,
   ...etc

puis

mt_srand((double)microtime()*1000000);
   $asb_index = mt_rand(0,count($asb_question)-1);
   $tmp="";
   $ibid=array_keys($asb_question);
   if (!$user) {
      $tmp="<span class=\"Bleu\">Anti-Spam / Merci de répondre à la question avant de valider: </span><span class=\"rouge\">".str_replace(" "," ",$ibid[$asb_index]." = ")." </span><input class=\"textbox_standard\" type=\"text\" name=\"asb_reponse\" size=\"10\" maxlength=\"10\" !onclick!=\"this.value=''\">";
// ligne modifiée par rapport au précédent post
      $tmp.="<input type=\"hidden\" name=\"asb_question\" value=\"".encrypt(($asb_question[$ibid[$asb_index]]).",".time())."\">\n";
     }



dans R_spambot :


if ( ($asb_reponse!="") and (strlen($asb_reponse)<=10) ) {
// strlen est à ajuster avec la longueur du champ de Q_spambot

$ibid=decrypt($asb_question);
            $ibid=explode(",",$ibid);
            $result="\$arg=($ibid[0]);";
            // submit intervient en moins de 5 secondes (trop vite) ou plus de 30 minutes (trop long)
            $temp=time()-$ibid[1];
            if (($temp<1800) and ($temp>5)) {
               //eval($result); on vire l'éval, plus necessaire
                             //Modif pour pouvoir changer le questionnaire la réponse est passéee en arg plutot que la question
                             $arg=$ibid[0];
            } else {
               $arg=uniqid(mt_rand());
            }
         } else {
            $arg=uniqid(mt_rand());
         }
         if ($arg==$asb_reponse) {
                



le reste sans modif


rb

Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=23718&forum=12