klein probleempje met md5 paswoord

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter reyntjens

wouter reyntjens

14/10/2006 23:18:00
Quote Anchor link
hallo iedereen,

ik ben een klein login systeempje aant maken met een md5 paswoord, het paswoord wordt opgeslagen in md5 vorm maar het controleren lukt niet
Dit is de code, weet iemand men fout?
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
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
session_start();
if(!empty($_POST)){
    include("connect.php");
    $query = "SELECT * FROM users
        WHERE username ='"
. $_POST["username"] . "'
        AND paswoord = '"
. md5($_POST["paswoord"]) . "'";
    
    $result = mysql_query($query) or die (mysql_error());
    
    if(mysql_num_rows($result) >0){
        $username = $_POST["username"];
        $paswoord = md5($_POST["paswoord"]);
        session_register("username");
        session_register("paswoord");
        mysql_fetch_row($result);
        header("Location: beveiligd.php");
        exit();
        
    }
else{
        
        $tekst = "Uw username en uw paswoord komen niet overeen
                    <a href=\"login.php\"> Probeer het opnieuw</a><br/>"
;
                die($tekst);
        }
    }
else{
        header("Location : login.php");
    }

?>
 
PHP hulp

PHP hulp

18/11/2024 14:30:32
 
Zero Dead

Zero Dead

14/10/2006 23:28:00
Quote Anchor link
Wat gaat er fout in het controleren?

Geeft hij altijd "Uw username en uw paswoord komen niet overeen
<a href=\"login.php\"> Probeer het opnieuw</a><br/>"? Of krijg je een MySQL error, of misschien helemaal niets?
 
Wouter reyntjens

wouter reyntjens

14/10/2006 23:34:00
Quote Anchor link
hij geef "uw username en paswoord komen niet overeen".
 
Zero Dead

Zero Dead

14/10/2006 23:39:00
Quote Anchor link
Komen de formulier-velden wel overeen met die van login.php? En zet je je wachtwoord wel correct in je database? Misschien gebruik je twee keer md5() voor je het in de database zet...

Ik zie nl niet echt een fout in je code...
 
Wouter reyntjens

wouter reyntjens

14/10/2006 23:49:00
Quote Anchor link
De velden komen overeen want ik had het ook eens geprobeerd zonder die md5 en dan ging het perfect!
Ik snap het ook niet echt goed.
 
Zero Dead

Zero Dead

14/10/2006 23:55:00
Quote Anchor link
Dus worden je wachtwoorden niet gecodeert+.+

Dan is er dus iets mis met je registratie-script+.+
 
Wouter reyntjens

wouter reyntjens

14/10/2006 23:58:00
Quote Anchor link
Ik leg het waarschijnlijk verkeert uit (sorry daarvoor)
maar het registreren lukt en het opslaan in de db ook, tot daar alles perfect!
Maar als ik de controle wil doen of het wachtwoord correct is, dan gaat het mis!
Daar loopt het volledig fout:s
 
Zero Dead

Zero Dead

15/10/2006 00:06:00
Quote Anchor link
Dat komt waarschijnlijk doordat het wachtwoord verkeerd word opgeslagen in je database... Het kan lijken dat dit niet zo is, maar wat zoals jij het uitlegt begrijp ik dat het wel dit is...
 
PHP Newbie

PHP Newbie

15/10/2006 00:07:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        $username
= $_POST["username"];
        $paswoord = md5($_POST["paswoord"]);
        session_register("username");
        session_register("paswoord");
?>


moet dat niet zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        $username
= $_POST["username"];
        $paswoord = md5($_POST["paswoord"]);
        session_register($username);
        session_register($paswoord);
?>


maar verder zie ik ook eigenlijk geen fout ik je script. Je weet zeker dat de wachtwoorden gecodeerd in je database staan?

en verder is dit een beetje onzinnig:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
        $tekst
= "Uw username en uw paswoord komen niet overeen
                    <a href=\"login.php\"> Probeer het opnieuw</a><br/>"
;
                die($tekst);
?>


doe dan gewoon meteen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
        die('Uw username en uw password komen niet overeen
                    <a href="login.php"> Probeer het opnieuw</a><br/>'
);
?>


Maar ja, je kunt beter geen die gebruiken, maar gewoon even netjes een afhandeling maken, blijft je lay-out in tact en zo.
 
Wouter reyntjens

wouter reyntjens

15/10/2006 09:41:00
Quote Anchor link
@ZeroDead, hoe kan ik dan maken dat het md5 paswoord gelijk is?
@PHP Newbie, ik heb het geprobeerd maar het lukte niet, ik zal een linkje zetten van de gegevens in de db zoals je zal zien staat er 1 gewoon wachtwoord en 2 gecodeerde wachtwoorden.
Gewijzigd op 01/01/1970 01:00:00 door wouter reyntjens
 
Robert Deiman

Robert Deiman

15/10/2006 09:46:00
Quote Anchor link
PHP Newbie schreef op 15.10.2006 00:07:
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
17
18
19
<?php

[code]<?php
        $username
= $_POST["username"];
        $paswoord = md5($_POST["paswoord"]);
        session_register($username);
        session_register($paswoord);
?>

[/quote]

Dit was nu toch zo:

<?php
session_start();
$username = $_POST["username"];
$paswoord = md5($_POST["paswoord"]);
$_SESSION['username']=$username;
$_SESSION['paswoord']=$paswoord;
?>
 
Remco van Arkelen

Remco van Arkelen

15/10/2006 09:52:00
Quote Anchor link
Precies zoals Robert zegt.

Dit voorbeeld herken ik volgens mij, komt uit het PHP5-boekje van Peter Kassenaar als ik me niet vergis? Hier zijn al heel wat discussies over geweest. Zie bijv. http://www.phpfreakz.nl/forum.php?forum=4&iid=498621

Alleen al het gebruik van session_register stamt uit PHP4.0, wachtwoorden in sessies is uit den boze etc...
 
Zero Dead

Zero Dead

15/10/2006 10:21:00
Quote Anchor link
Eeen voorbeeldje, maak een gebruiker in de database aan met login test, en wachtwoord 098f6bcd4621d373cade4e832627b4f6

Probeer dan in te loggen met als login test, en als wachtwoord test... Als het werkt, is je login script niet kapot, maar je registreer script.

Als dit niet werkt, is er een grote kans dat je database structuur niet klopt, bijv varchar(16) op wachtwoorden, waardoor een md5 gecodeerd wachtwoord er niet in past...
 
Wouter reyntjens

wouter reyntjens

15/10/2006 12:44:00
Quote Anchor link
Zoals ZeroDead zei, de varchar waarde was te kort vandaar dat het niet ging!
Ik heb even gekeken op phpfreakz, is het dan juist wat ik gedaan heb?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
if(mysql_num_rows($result) >0){
        $username = $_POST["username"];
        $paswoord = md5($_POST["paswoord"]);
        session_register("username");
        mysql_fetch_row($result);
        header("Location: beveiligd.php");
        exit();
[\code]
Dus ik heb
        session_register("paswoord"); weggelaten, is dit ok?
 
- SanThe -

- SanThe -

15/10/2006 12:50:00
Quote Anchor link
session_register is antiek.

Gebruik:
$_SESSION['username'] = $username;
 
Wouter reyntjens

wouter reyntjens

15/10/2006 12:58:00
Quote Anchor link
voor een md5 ww op te slaan in de database, hoeveel karakters moet ik daarvoor rekenen?
 
Baarr

Baarr

15/10/2006 13:00:00
Quote Anchor link
32
 
Wouter reyntjens

wouter reyntjens

15/10/2006 13:20:00
Quote Anchor link
Nog 1 vraag:

Hoe kan ik makkelijk een wachtwoord wijzigen via een inputveld?
Gewijzigd op 01/01/1970 01:00:00 door wouter reyntjens
 



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.