Goedeavond,

Ik ben bezig met een klein captcha script hij is nog niet helemaal af. Maar als ik hem nu open krijg ik geen getallen te zien op de plek waar ze horen. Ik heb alles 3 keer overgekeken maar zie niks fout. Waarschijnlijk kijk ik er zwaar over heen.

Kunnen jullie misschien kijken wat ik fout heb gedaan ?


<html>
	<head>
		<title>
			JAVA
		</title>
		<style>
			input {
				height:30px;
				border:2px solid black;
			}	
			#ingave {
				padding:6px;
				width:120px;
				text-align:right;
			}		
		</style>	
		<script>
			var x,y=0;
			
			function nieuweSom(){
				x=Math.round(100*Math.random());
				y=Math.round(100*Math.random());
				document.getElementById("opgave").innerHTML = x+"+"+y;
				document.getElementById("ingave").focus();
			}
			function ok() {
				var oplossing = document.getElementById("ingave").value;
				if (oplossing == x+y {
					document.getElementById("uitslag").innerHTML = oplossing+' correct';
					document.getElementById("uitslag").style.color = "green";
					nieuweSom();
				} else {
					document.getElementById("uitslag").innerHTML = 'Helaas niet goed';
					document.getElementById("uitslag").style.color = "red";
				}
				document.getElementById("ingave").value = "";
				document.getElementById("ingave").focus();
			}
		</script>	
	</head>
	<body style="text-align:center;" onload="nieuweSom();">
		<h1>Hoeveel is: <span id="opgave"></span> ?</h1>
		<input type="number" value="0" min="0" max="200" id="ingave" />
		<input type="button" value="Ok" onclick="ok()" />
		<input type="button" value="Nieuwe som" onclick="nieuweSom()" />
		<span id="uitslag"></span>
		
		
	</body>
</html>	
dan is er iets mis met mij browser, dankje voor de snelle reatie!
Captcha beschermt je tegen bots.
Dus, hackers schrijven een scriptje dat automatisch nieuwe users gaat registreren, om daarmee automatisch content te spammen.

Het concept van Captcha is toch wel dat de geheime code (wat het ook moge zijn) gegenereerd wordt op de server; achter de schermen.
Je moet vermijden dat een hacker "het systeem" van jouw Captcha kan voorspellen/omzeilen/raden/...


Het systeem dat jij hier op poten zet, doet niet veel moeite om een spammer tegen te houden, lijkt me.
Je hebt op de server geen verificatie-code waarmee jij (de scripter) kan zien of de "nieuwe message" of "nieuwe geregistreerde" verzonden is door een mens is of een bot.
In klassieke captcha wel.

Daar heb je iets als:
<?php
...
if ($_SESSION['captcha'] === $_POST['captcha']) {
$sql = "INSERT INTO users ...";
}
else {
eecho 'misse captcha ...';
// en dus, deze post komt niet in de database terecht
}
?>

Kijk eventueel eens naar mijn reactie op topic over klassieke captcha
http://www.phphulp.nl/php/forum/topic/captcha/76631/#542067

Het zou goed zijn als je je concept herschrijft, zodat de random code op de server wordt gegenereerd en wordt opgehaald met Ajax.
Ik gebruik het scriptje niet ik ben gewoon hier een daar wat aan het uitproberen en ik heb de fout inmiddels gevonden war ergens een: ")" vergeten, maar toch bedankt voor de moeite

Reageren