Scripts
Raadsel Captcha
Zo, Na mijn eerste captcha script die bestond uit sommen oplossen is er een aantal maal aangegeven dat een captcha altijd te faken is door middel van bots. Men noemde een aantal keer dat het mooi zou zijn als er een captcha kwam waar een bot geen 'reet' van snapt.. ik ben begonnen aan het ombouwen van mijn eerder gemaakte captcha script.. zie hieronder het resultaat
raadsel-captcha
index.php (of waar je hem ook integreert)
[code]
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
function Controleer()
{
$antwoord = $_POST['antwoord'];
$randomnummer = $_POST['randomnummer'];
require_once('raadsel.php');
if(empty($antwoord)):
$fout = 1;
$foutstr[] = "Fout. Vul wel IETS in";
elseif ($antwoord !== $oplossing):
$fout = 1;
$foutstr[] = "Fout. OF je bent een BOT of je bent niet heel slim";
endif;
if ($fout == 1):
foreach($foutstr as $bericht){
echo ''.$bericht.'<br /> <a href='.$_SERVER['PHP_SELF'].'>nogmaals proberen?</a>';
}
exit;
endif;
}
Controleer();
?>
<div class="fodder" align="center">
<p>Goedzo</p>
</div>
<?php
}else{
$randomnummer = rand(0,4);
require_once('raadsel.php');
//hier het formulier
// by marviins.nl
}
?>
[/code]
raadsel.php
[code]
<?php
switch($randomnummer){
case 0:$oplossing='1';break;
case 1:$oplossing='hallo allemaal, ik ben slim.';break;
case 2:$oplossing='3';break;
case 3:$oplossing='3';break;
case 4:$oplossing='ollah';break;
//case5:$oplossing='hier het antwoord van raadsel5.php; break;
//case6:$oplossing='hier het antwoord van raadsel6.php; break;
//case7:
//etc etc
//by marviins.nl
}
?>
[/code]
inc/raadsel0.php
[code]
Hoevaak zie jij de letter X in deze regel?
==========================================
(antwoord in cijfers... bijvoorbeeld: 5)
[/code]
als je meer raadsels wilt zet je in de map inc gewoon een nieuwe 'raadsel5.php'
vervolgens ga je in index.php naar regel 42 en verander je
[code]$randomnummer = rand(0,4);[/code]
naar
[code]$randomnummer = rand(0,5);[/code]
etc
Reacties
0