Probleem met cookies of GD(2)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

DARIDE

DARIDE

05/07/2005 22:54:00
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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
 
PHP hulp

PHP hulp

28/05/2024 15:13:32
 
Eris -

Eris -

05/07/2005 23:02:00
Quote Anchor link
Doe even print_r($_COOKIE);

en kijk of het daar goed gaat :P
 
DARIDE

DARIDE

05/07/2005 23:27:00
Quote Anchor link
Array ( [PHPSESSID] => 0df6e87ebeb6ac645805603e60036a1e )

Ik krijg alleen phpsessid dus er is iets mis met cookie setten..

weet jij wat ik fout doe?
 
Han eev

Han eev

06/07/2005 10:23:00
Quote Anchor link
md5($number) == $_COOKIE['verification']
moet je anders om zetten
$_COOKIE['verification'] == md5($number)
nu werkt het wel... let maar op :P
 

06/07/2005 13:08:00
Quote Anchor link
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
 
Marien xD

Marien xD

06/07/2005 15:06:00
Quote Anchor link
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
 
Christian

christian

06/07/2005 15:11:00
Quote Anchor link
nee weet ik niet, hat ookso iets bij mij maar.....
 

15/07/2005 23:25:00
Quote Anchor link
Weet iemand al de oplossing?
 

17/07/2005 16:50:00
Quote Anchor link
Help plz!
 
Han eev

Han eev

17/07/2005 16:53:00
Quote Anchor link
Als het je naar een lange tijd nog steeds niet lukt!
Maak hem dan gewoon opnieuw!
 

17/07/2005 16:56:00
Quote Anchor link
Heb ik al een keer gedaan, nog steeds zelfde probleem -_-
 

17/07/2005 17:06:00
Quote Anchor link
Ja is handig om te gebruiken,

Heeft er misschien iemand een werkende verif script?
 

26/12/2005 04:14:00
Quote Anchor link
Marien:
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..
 

28/12/2005 10:12:00
Quote Anchor link
1. Voer eens nadat je ingelogt bent deze code in de adres balk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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:
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!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.