Pages vues depuis 25/05/2001 : 104 311 123
Index du forum »» Sécurité »» modifs de l'antispam
//modif pour pouvoir changer les questions c'est la réponse qui est mise dans le champ asb_question
$tmp.="<input type=\"hidden\" name=\"asb_question\" value=\"".encrypt(($asb_index+1).",".time())."\">\n";
// 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];
evite de toucher a la core !! quand meme
Message édité par : aidadomicil / 01-07-2008 23:03
if ( ($asb_reponse!="") and (is_numeric($asb_reponse)) and (strlen($asb_reponse)<=2) ) {
$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";
}
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) {