[PHP-MySQL] MD5

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Paradoxia
  • Registratie: Februari 2001
  • Laatst online: 29-05 17:43
Hallo mensen,

Ik heb even een kort vraagje (hoop ik). Ik heb de paswoorden van mijn gebruikers opgeslagen en encrypted in MD5..
Gaat goed, maar nu wil ik via een ander login script. Nu heb ik dit:
code:
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
51
52
53
<?php

include("config.php");

$connect = mysql_connect("$user_hostname", "$user_username", "$user_password");
mysql_select_db("$user_database", $connect);

session_start();

if(!isset($username)) {

echo "<form method=\"POST\" action=$PHP_SELF>
<center>
<table>
<tr>
<td>Username:</td>
<td><input type=\"text\" name=\"username\" size=\"20\"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type=\"password\" name=\"password\" size=\"20\"></td>
</tr>
<tr>
<td colspan=\"2\">
<p align=\"center\"><input type=\"submit\" value=\"Submit\" name=\"submit\"></td>
</tr>
</table>
</center>
</form>";
exit;
}

session_register("username");
session_register("password");

$sql = "SELECT * FROM _users WHERE username = \"$username\" AND password = \"$password\"";
$result = @mysql_query($sql) or die("No.");

if(mysql_num_rows($result) == "0") {

session_unregister("username");
session_unregister("password");

echo "<h2 align=center>Wrong username and password, try again</h2>";
exit;

}

$username = mysql_result($result,0,"username");

mysql_close($connect);

?>


Dit paswoord is niet encrypted. Waar zet ik de md5 tag in dit script?

ik had zelf dit in gedachten:
code:
1
session_register(md5("password"));


Maar ik weet niet of dit gaat werken. En aangezien ik al info in de DB heb staan kan ik het niet 123 testen. :)

Wees gegroet,
/Eddy

Nederlander in het enge Florida


Acties:
  • 0 Henk 'm!

Verwijderd

Paradoxia schreef op 28 november 2003 @ 00:33:
code:
1
$sql = "SELECT * FROM _users WHERE username = \"$username\" AND password = \"$password\"";
>> Bedoel je niet

code:
1
$sql = "SELECT * FROM _users WHERE username = \"$username\" AND password = \"" . md5($password) . "\"";


En aangezien je password al encrypted in je database staat, haal je'm toch ook encrypted eruit. Ben niet echt mee wat nou het probleem is 8)7

Acties:
  • 0 Henk 'm!

  • Paradoxia
  • Registratie: Februari 2001
  • Laatst online: 29-05 17:43
Ben ik nu echt zo stupide aan het worden? Het zal wel de kilometers lange <? ... ?> zijn die me door me kop spookt. *sigh* |:(

iig hartelijk bedankt _/-\o_

Nederlander in het enge Florida


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

Je kan ook gewoon dat hele wachtwoord gebeuren in de query weglaten, en controleren op het moment dat je de userdata hebt opgehaald

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien meer een kanttekening dan een antwoord:

Het is nooit verstandig om persoonlijk / kritieke informatie (zoals in jou geval een wachtwoord) op te slaan in een sessie. Je kunt toch ook gewoon een boolean setten een daarin aangeven dat de gebruiker is ingelogd samen met zijn username?
Als je het wachtwoord een paar scripts verder op dan nog een keer nodig hebt dan haal je em opnieuw op met een query.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou er trouwens dit van maken (netter, handiger en sneller):
code:
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
51
52
<?php

include("config.php");

$connect = mysql_connect($user_hostname, $user_username, $user_password);
mysql_select_db($user_database, $connect);

session_start();

if(!isset($username)) {

?>
<form method="POST" action="<?=$PHP_SELF;?>">
<center>
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="username" size="20"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" size="20"></td>
</tr>
<tr>
<td colspan="2">
<p align="center"><input type="submit" value="Submit" name="submit"></td>
</tr>
</table>
</center>
</form>
<?
exit;
}

session_register("username");

$sql = "SELECT * FROM _users WHERE username = '".$username."' AND password = MD5('".$password."')";
$result = @mysql_query($sql) or die("No.");

if(mysql_num_rows($result) == "0") {

session_unregister("username");

?><h2 align="center">Wrong username and password, try again</h2><?
exit;
}

$username = mysql_result($result,0,"username");

mysql_close($connect);

?>


Waarom sla je het password op in een session variabele?
Zelfde vraag dus als 6-Pack :)

[ Voor 51% gewijzigd door Verwijderd op 28-11-2003 16:05 ]


Acties:
  • 0 Henk 'm!

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Zie evt. ook dit topic.

[ specs ] [ Tweaker gallery ]

Pagina: 1