Versio

Md5 Wachtwoord login.

Overzicht

Pagina: 1 2 3 4 volgende »

Dirkjan Lousberg

Dirkjan Lousberg

01/02/2011 23:19:41
Anchor link
Dag allen,
Ik heb een registreer page gemaakt welke de wachtwoorden als MD5 in de database zet. Dit zijn dus niet de wachtwoorden die de mensen hebben gegeven. Nu wil ik voor de login deze md5 wachtwoorden uit de database terughalen naar de wachtwoorden die normale mensen hebben gegeven. wat moet ik in deze code veranderen zodat hij md5 converteert naar wat de mensen hadden.

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


if( isset($_POST["login"]))
{
    $query = mysql_query("select * from gebruikers where gebruikersnaam='".$_POST["gebruikersnaam"]."'");
    $row = mysql_fetch_object($query);
    $wachtwoord1 = $_POST["wachtwoord"];
    if($wachtwoord1 == $row->wachtwoord && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
    {
        setcookie ("login", $_POST["gebruikersnaam"],time()+3600);
        echo "U bent ingelogt.";
        echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=inloggenhome.php\">";
    }
    else
Gewijzigd op 01/02/2011 23:20:58 door Dirkjan Lousberg
 
PHP hulp

PHP hulp

25/05/2012 08:53:53
Gesponsorde koppelingen:
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:22:02
Anchor link
Je kunt md5 niet "decoderen". Je moet md5(wachtwoord) vergelijken met het wachtwoord in de database.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if (md5($_POST["wachtwoord"]) == $row->wachtwoord)
?>
 
Dirkjan Lousberg

Dirkjan Lousberg

01/02/2011 23:23:21
Anchor link
de Code zal er dus als volgend uizien.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if( isset($_POST["login"]))
{

    $query = mysql_query("select * from gebruikers where gebruikersnaam='".$_POST["gebruikersnaam"]."'");
    $row = mysql_fetch_object($query);
    $wachtwoord1 = $_POST["wachtwoord"];
    if (md5($_POST["wachtwoord"]) == $row->wachtwoord) && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
    {

        setcookie ("login", $_POST["gebruikersnaam"],time()+3600);
        echo "U bent ingelogt.";
        echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=inloggenhome.php\">";
    }

    else
 
Moe BE

Moe BE

01/02/2011 23:25:11
Anchor link
Waarom wil je terug naar het origineel?

Om te zien of ze wel het juiste wachtwoord hebben opgegeven?
Dan kan je ook gewoon het ingevoerde wachtwoord door middel van md5 omzetten en dit resultaat dan vergelijken met dat van in de database.

Normaal gezien zou md5 niet terug omzetbaar mogen zijn, want dan heeft het geen zin meer om je paswoord te encrypteren. De realiteit beslist hier echter anders over.

Ik raad je aan eens te kijken naar sha1 met een salt.
 
Dirkjan Lousberg

Dirkjan Lousberg

01/02/2011 23:26:13
Anchor link
Het is voor school we hoeven het dus niet zwaar te beveiligen, er moest echter wel een klein beetje beveiligd worden maar bovenstaande script zou moeten werken?
 
Karl Karl

Karl Karl

01/02/2011 23:26:33
Anchor link
- Controleren of een form gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
- Selecteer wat je wilt hebben, gebruik geen *.
- Het is duidelijker als je de SQL in HOOFDLETTERS plaatst.
- SQL injection mogelijk, zie mysql_real_escape_string.
- Foutafhandeling ontbreekt, zie mysql_query.
- Objecten fetchen is onzin. Gebruik gewoon mysql_fetch_assoc.
- Niet onnodig variabelen kopiƫren.
- Gebruik een salt.
- Je kunt ook gelijk de data in de query stoppen zodat de database afhandelt of de waarden overeen komen.
- Setcookie kan niet midden tussen de output voorkomen.
- Dump geen meta-tag midden in het niets.

Edit: Zie ook mijn punten in je vorige topic.
Gewijzigd op 01/02/2011 23:27:43 door Karl Karl
 
Dirkjan Lousberg

Dirkjan Lousberg

01/02/2011 23:33:09
Anchor link
Parse error: syntax error, unexpected T_STRING, expecting '(' in /home/leerling/domains/leerling.annavanrijn.nl/public_html/10116Vgr4/login.php on line 34

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
ob_start();
include("header.php");
include("connect.php");
?>



                        <p>

                            <center>
<form method="post">

  <tr>
    <td width="50%">Gebruikersnaam:</td>
    <td width="50%"><input type="text" name="gebruikersnaam" value="Gebruikersnaam" onclick="gebruikersnaam.value=''" size="20"></td>
  </tr><br><br>
  <tr>
    <td width="50%">Wachtwoord:</td>
    <td width="50%"><input type="password" name="wachtwoord" value="Wachtwoord" onclick="wachtwoord.value=''" size="20"></td>
  </tr>
  <tr>
  <tr><br><br>
    <td width="100%" colspan="2"><input type="submit" name="login" value="Druk hier om in te loggen"></td>
  </tr>
</table>
</form>
</center>
<?
if( isset($_POST["login"]))
{

    $query = mysql_query("select * from gebruiker where gebruikersnaam='".$_POST["gebruikersnaam"]."'");
    $row = mysql_fetch_object($query);
    $wachtwoord1 = $_POST["wachtwoord"];
    if md5($_POST["wachtwoord"] == $row->wachtwoord && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
    {

        setcookie ("login", $_POST["gebruikersnaam"],time()+3600);
        echo "U bent ingelogt.";
        echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=inloggenhome.php\">";
    }

    else
    {
        echo "<br><br>Fout, Waarschijnlijk heeft u een verkeerde wachtwoord of gebruikersnaam ingevoerd";
    }
}

?>

                        </p>
      
<?php    
include("footer.php");
?>


Eerst deed die het wel en nu niet meer foutmelding staat hierboven hoe komt dat?
 
- SanThe -

- SanThe -

01/02/2011 23:35:30
Anchor link
Haakjes verplaatst/verwijderd?
Gewijzigd op 01/02/2011 23:37:02 door - SanThe -
 
Karl Karl

Karl Karl

01/02/2011 23:36:57
Anchor link
Tel de haakjes ()))()()() in je script.
Gebruik dus een editor zoals notepad++[/google].
 
Dirkjan Lousberg

Dirkjan Lousberg

01/02/2011 23:40:21
Anchor link
Ik snap er echt niks van zou iemand er even naar willen kijken? danku
 
Karl Karl

Karl Karl

01/02/2011 23:43:27
Anchor link
1+2 = 3
2*3+1 = 7
2*(3+1) = 8
if methode(parameter && nog-meer-zooi && onzin) <- Dat doe jij.
 
Dirkjan Lousberg

Dirkjan Lousberg

01/02/2011 23:44:56
Anchor link
Daar heb ik niks aan, ik wil dit script gewoon werkend hebben, jij hebt er kennelijk verstand van zou je mij het antwoord alstublieft niet willen onthouden?
 
Karl Karl

Karl Karl

01/02/2011 23:48:07
Anchor link
Ik snap best dat je dit script werkend wilt hebben. Toch vind ik dat als je iets doet, dat je er van moet leren. Zeker met elementaire dingen als dit. Daardoor probeer ik je alleen aanwijzingen te geven van hoe je je probleem zou kunnen verhelpen.
Als ik ga voorzeggen wat het probleem is en hoe je het moet verhelpen, dan leer je daar totaal niks van.
Volgens mij zijn mijn hints wel duidelijk. Zie anders ook eens md5 en if.
 
- SanThe -

- SanThe -

01/02/2011 23:49:40
Anchor link
KIJK nou eens naar die regel en kijk dan eens naar if(....)
 
Niek s

niek s

01/02/2011 23:52:35
 
Dirkjan Lousberg

Dirkjan Lousberg

02/02/2011 15:13:51
Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
if (md5($_POST["wachtwoord"]) == $row->wachtwoord) && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
    {
[\code]

In deze zin zit dus de fout het eind klopt.
dus blijft deze zin over if (md5($_POST["wachtwoord"]) == $row->wachtwoord)

moet die dan zo worden IF (md5($_POST["wachtwoord"]) == $row->wachtwoord) ? Of

IF$_POST(md5["wachtwoord"]) == $row->wachtwoord)
 
Karl Karl

Karl Karl

02/02/2011 16:06:20
Anchor link
if(md5($_POST['wachtwoord']) == $row['wachtwoord'] && $_POST['gebruikersnaam'] == $row['gebruikersnaam'])

Maar goed, zie dus alle punten die ik heb opgenoemd.
 
Dirkjan Lousberg

Dirkjan Lousberg

02/02/2011 16:56:05
Anchor link
Quote
if(md5($_POST['wachtwoord']) == $row['wachtwoord') && $_POST['gebruikersnaam'] == $row['gebruikersnaam'])

Zo zou die moeten kloppen? Karl Karl ik kom er zelf niet echt uit zou jij me anders willen helpen de rest heb ik al wel volbracht.
 
Ozzie PHP

Ozzie PHP

02/02/2011 16:59:34
Anchor link
Dylan Boere op 02/02/2011 16:56:05:
Zo zou die moeten kloppen?
Ik zou zeggen test het even.
 
Dirkjan Lousberg

Dirkjan Lousberg

02/02/2011 17:13:39
Anchor link
Parse error: syntax error, unexpected ')', expecting ']' in /home/leerling/domains/leerling.annavanrijn.nl/public_html/10116Vgr4/login.php on line 36

Ik snap er eerlijk waar niks van, wil iemand mij helpen? en zeggen waar de fout zit. zie hem zelf namelijk niet ben niet zo heel goed in PHP en heb ook weinig zin om er een studie van te maken.
 
Obelix en Idefix

Obelix en Idefix

02/02/2011 17:32:14
Anchor link
Dylan Boere op 02/02/2011 17:13:39:
Parse error: syntax error, unexpected ')', expecting ']' in /home/leerling/domains/leerling.annavanrijn.nl/public_html/10116Vgr4/login.php on line 36

Ik snap er eerlijk waar niks van, wil iemand mij helpen? en zeggen waar de fout zit.

De foutmelding geeft aan wat er fout is en waar het fout gaat.

Dylan Boere op 02/02/2011 17:13:39:
ben niet zo heel goed in PHP en heb ook weinig zin om er een studie van te maken.

Hoezo een studie van maken? De foutmelding geeft je voldoende aanwijzingen.

Dylan Boere op 01/02/2011 23:26:13:
Het is voor school

Ik ga je huiswerk niet maken. Of een ander het wil doen, moet hij/zij weten.
Gewijzigd op 02/02/2011 17:32:42 door Obelix en Idefix
 

Pagina: 1 2 3 4 volgende »

 

Dit topic is gesloten.



Overzicht

Get Adobe Flash player