Alternatywa dla Captcha

Alternative to Captcha

Przykład PHP2014-03-07 stopień trudności: łatwy

Ponieważ irytujÄ… mnie obrazki Captha które czÄ™sto sÄ… nieczytalne nie tylko dla bootów ale i dla nas, postanowiÅ‚em napisać prosty skrypcik.


Poniższy przykÅ‚ad pokazuje jak stworzyć alternatywne Captcha, tzw. test na czÅ‚owieczeÅ„stwo jak czÄ™sto bywa nazywany.


<?
$a 
$_POST['a'
];
$b $_POST['b'
];
$m $_POST['m'
];
$suma $_POST['suma'
];

//sprawdzamy czy przesÅ‚ane wartoÅ›ci sÄ… cyframi
if (is_numeric($a) && is_numeric($b) && is_numeric($suma
)) {

switch (
$m
) {
    case 
"*"
:
        
$wynik $a $b
;
        break;
    case 
"+"
:
        
$wynik $a $b
;
        break;
    case 
"-"
:
        
$wynik $a $b
;
        break;
}

//i sprawdzamy inteligencjÄ™ naszego goÅ›cia :)

if($wynik == $suma
){
//jeÅ›li nasz wynik zgadza siÄ™ z wpisanym w formularzu
//wykonujemy dalsze czynnoÅ›ci skryptem
echo $suma." jest poprawnÄ… wartoÅ›ciÄ… wiÄ™c dziaÅ‚am dalej"
;
}
else{
//jeÅ›li nasz wynik zgadza siÄ™ z wpisanym w formularzu
//wykonujemy dalsze czynnoÅ›ci skryptem
echo $suma." nie jest poprawnÄ… wartoÅ›ciÄ…, nie umiesz liczyć nie jedziesz"
;
}

}

else{

//tworzymy tablice naszych znaków
$tab_op = array('+','-','*'
);

//losujemy element tablicy
$r rand(0,2
);
$m $tab_op[$r
];

//nasz uproszczony formularz
echo
"
<form method=\"post\" action=\""
.$_SERVER['PHP_SELF'].
"\">
<input type=\"text\" name=\"a\" value=\""
.rand(130)."\" size=\"2\"> ".$m.
"
<input type=\"text\" name=\"b\" value=\""
.rand(130).
"\" size=\"2\"> =
<input type=\"text\" name=\"suma\" value=\"\" size=\"2\">
<input type=\"submit\" name=\"submit\" value=\"send\">
<input type=\"hidden\" name=\"m\" value=\""
.$m.
"\">
</form>
"
;

}
?>



 
close
Strona korzysta z plików cookies. Zastosowane pliki cookie służą jedynie do prowadzenia ogólnych statystyk pozwalających na określenie popularności serwisu.