Hallo daar,

Ik heb van het internet een image verification systeempje geplukt en dit op mijn site gezet na het een beetje aangepast te hebben.

het probleem is, zelfs als ik 5x heb geprobeerd (code veranderd steeds) en ik 100% weet dat de code klopt die ik moet overtypen krijg ik de melding:

Verificatie code fout.

Dit is verificatie.php:

<?php
$alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand = substr(str_shuffle($alphanum), 0, 5);
setcookie("verification",md5($rand),time()+60*60*24,"/","http://www.psykofool.com";);
$image = imagecreatefromjpeg("images/imageverification.jpg");
$textColor = imagecolorallocate ($image, 00, FF, 00);
imagestring ($image, 5, 5, 8, $rand, $textColor);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>

Ik laat het plaatje zien op deze manier (in een form):

<form method="post"><table align="center">
<tr><td width=100>Email-adres:</td> <td><input type="text" name="email" maxlength=32 style="width: 150;"></td></tr>
<tr><td width=100>Wachtwoord:</td> <td><input type="password" name="pass" maxlength=16 style="width: 150;"></td></tr>
<tr><td><img src="verification.php"></td></tr>
<tr><td width=100>Code:</td> <td><input name="txtNumber" type="text" id="txtNumber" value="" style="width: 150;"></td></tr>
<tr><td></td><td align="right"><input type="submit" name="submit" style="width: 100;" value="Login"></td></tr>
</table></form>

Ik gebruik die image om zeker te zijn dat geen bot of dergelijke probeert binnen te komen.

En om brute-force tegen te gaan.

Ik controleer de invoer van de code en username/ww op deze manier:

if(isset($_POST['email'],$_POST['pass'])) {
$number = $_POST['txtNumber'];
if(md5($number) == $_COOKIE['verification']) {
hier de database zut etc.

daaronder staat een else waarmee als de code fout is word 'gezegd' dat de code fout is.

Volgens mij leest die of de cookie niet goed of de cookie word niet goed gezegd, ik kom er echt niet meer uit.

Wie kan me helpen?

-DARIDE
Ja is handig om te gebruiken,

Heeft er misschien iemand een werkende verif script?
Marien schreef op 06.07.2005 15:06
hey daride!!! word je hopeloos...

Jij ben zo goed in hacken en dan nog niet weten hoe je een goed verificatie systeem moet maken.

BTW voor andere gebruikers: dit is voor het spel criminals.

Hebben veel mensen hier een hekel aan :P

Niet om jou te benadelen maar bij mij werkt dit script ook niet. Heb allang iets anders bedacht voor mijn criminals.

Marien


Sinds wanneer heeft hacken iets te maken met verstand hebben van php?

Je kan op zoveel manieren hacken..
1. Voer eens nadat je ingelogt bent deze code in de adres balk:
javascript:alert(document.cookie);

(misschien werkt het niet met FF, maar met IE(maxthon browser) wel;))

Zoek dat iets zoals dit op:
verification= *MD5STRING*

Als dat bestaat dan weet je dat de cookie/sessie is ingesteld, als dat niet bestaat weet je dat er iets mis is bij het instellen van de cookie/sessie.

--------------------------------------------

2.
daride schreef op 06.07.2005 13:08
Ben er al achter gekomen dat het cookie steeds het zelfde kwam dus gebruik nu een session alleen zelfde probleem:

if(isset($_POST['email'],$_POST['pass'],$_POST['verificationuser'])) {
$dbres = mysql_query("SELECT `login`,`email`,`activated` FROM `[users]` WHERE `email`='{$_POST['email']}' AND `pass`=MD5('{$_POST['pass']}')");
$number = $_POST['verificationuser'];
$verification = $_SESSION['securitycode'];
echo "De post: $number<br>";
echo "De sesi: {$_SESSION['securitycode']}<br>";
if(($data = mysql_fetch_object($dbres)) && $data->activated == 1 && $_POST['verificationuser'] == $_SESSION['securitycode']) {

Bij die 2echo's staat wel de zelfde code, maar hij geeft aan dat ik ingelogt ben + daarna een bericht dat de verificatiecode niet klopt, en dan benk uitgelogt :(

Wie kan me helpen, word hopeloos


Misschien include je verificatie.php nog een keer nadat je op submit hebt gedrukt, dit zorgt dan dat je code verandert!

Reageren