md5()
Dit is de code
Code (php)
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
include("data.inc.php");
$global_dbh = mysql_connect($hostname, $username, $password);
mysql_select_db($db, $global_dbh);
$tusername = $_POST[username];
$tpassword = $_POST[password];
$trimpassw = md5($tpassword);
$query = "SELECT * FROM users WHERE username = '$tusername' AND password = '$trimpassw'";
$encrypted_pass = md5($query);
$result_id = mysql_query($query) or die(mysql_error($query));
$row = mysql_fetch_row($result_id);
$tid = $row[0];
// ************************** Correcte login *******************
if($tusername != "" && $trimpassw != "" && $trimpassw == $encrypted_pass)
{
$_SESSION['login'] = "$tusername";
$_SESSION['id'] = "$tid";
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
// *************************** Foute login via loginscherm ************************
elseif($_POST[hidden] == 1)
{
echo "U hebt iets fout gedaan! Dit kunnen de redenen zijn!<br>
» Uw Gebruikersnaam en/of wachtwoord zijn verkeerd || In dit geval, klik <a href='forget.php'>hier</a><br>
» Uw Gebruikersnaam bestaat niet<br>
» U bent verbannen<br><br>
Is niets van dit waar, meld dit dan bij de admin";
}
}else{
?>
Nu kan u hier inloggen. Vul hieronder uw gegevens in!<br><br>
<form method="POST" name="POST" action="index.php?page=login">
<table border="0">
<tr><td> <font color="white" size="1" face="verdana"> Gebruikersnaam:</td><td><input name="username" type="text" size="18" maxlength="20"></td></tr>
<tr><td> <font color="white" size="1" face="verdana"> Wachtwoord:</td><td><input name="password" type="password" size="18" maxlength="20"></td></tr>
</table>
<input type="hidden" name="hidden" value="1">
<input type="submit" value="Inloggen"> || <input type="reset" value="Wis Velden">
<?php
}
?>
if($_SERVER['REQUEST_METHOD'] == "POST")
{
include("data.inc.php");
$global_dbh = mysql_connect($hostname, $username, $password);
mysql_select_db($db, $global_dbh);
$tusername = $_POST[username];
$tpassword = $_POST[password];
$trimpassw = md5($tpassword);
$query = "SELECT * FROM users WHERE username = '$tusername' AND password = '$trimpassw'";
$encrypted_pass = md5($query);
$result_id = mysql_query($query) or die(mysql_error($query));
$row = mysql_fetch_row($result_id);
$tid = $row[0];
// ************************** Correcte login *******************
if($tusername != "" && $trimpassw != "" && $trimpassw == $encrypted_pass)
{
$_SESSION['login'] = "$tusername";
$_SESSION['id'] = "$tid";
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
// *************************** Foute login via loginscherm ************************
elseif($_POST[hidden] == 1)
{
echo "U hebt iets fout gedaan! Dit kunnen de redenen zijn!<br>
» Uw Gebruikersnaam en/of wachtwoord zijn verkeerd || In dit geval, klik <a href='forget.php'>hier</a><br>
» Uw Gebruikersnaam bestaat niet<br>
» U bent verbannen<br><br>
Is niets van dit waar, meld dit dan bij de admin";
}
}else{
?>
Nu kan u hier inloggen. Vul hieronder uw gegevens in!<br><br>
<form method="POST" name="POST" action="index.php?page=login">
<table border="0">
<tr><td> <font color="white" size="1" face="verdana"> Gebruikersnaam:</td><td><input name="username" type="text" size="18" maxlength="20"></td></tr>
<tr><td> <font color="white" size="1" face="verdana"> Wachtwoord:</td><td><input name="password" type="password" size="18" maxlength="20"></td></tr>
</table>
<input type="hidden" name="hidden" value="1">
<input type="submit" value="Inloggen"> || <input type="reset" value="Wis Velden">
<?php
}
?>
Ik weet natuurlijk niet of dit goed is. Ik heb wat tuts gezocht en dit gemaakt! dus men vraag is, waar loopt het fout?
Greetz
hier eens naar :).
Waarom md5 je je query? Dat is niet logisch... Kijk Gewijzigd op 01/01/1970 01:00:00 door Arjan Kapteijn
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?PHP
$query = "SELECT * FROM users WHERE username = '$tusername' AND password = '$trimpassw'";
$encrypted_pass = md5($query);
$result_id = mysql_query($query) or die(mysql_error($query));
$row = mysql_fetch_row($result_id);
?>
$query = "SELECT * FROM users WHERE username = '$tusername' AND password = '$trimpassw'";
$encrypted_pass = md5($query);
$result_id = mysql_query($query) or die(mysql_error($query));
$row = mysql_fetch_row($result_id);
?>
Dit is niet helemaal het idee achter md5 encryptie.
Ten eerste doet je query het niet als je hem versleuteld.
Ten tweede: Het is de bedoeling dat de waarden IN de database versleuteld zijn, en dat ze worden versleuteld bij het opvragen, want dat kost eigenlijk alleen maar meer tijd en het is dubbel op op die manier.
Wanneer de waarden IN de database versleuteld zijn, kan je deze zonder een extra encriptie vergelijken met de versleutelde $_POST['wachtwoord']
Arjan:
Waarom md5 je je query? Dat is niet logisch... Kijk hier eens naar :).
link doet het niet
http://www.i-cey.net/?pagina=phpscripts&scriptid=3
Gewijzigd op 01/01/1970 01:00:00 door Pieter van Linschoten
Parse error: parse error, unexpected $ in /www/users/rtdradio.downfire.com/Dutch/login.php on line 47
Nu, Er zijn 47 lijnen in dit script, maar de fout ligt in dit stuk!
Code (php)
1
2
3
4
2
3
4
$query = "SELECT username, password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
if ($dbcon && mysql_num_rows($dbcon) == 1)
{
$dbcon = mysql_query($query);
if ($dbcon && mysql_num_rows($dbcon) == 1)
{
Dit is heel de code (voor moest de fout hier toch niet zitten!)
Code (php)
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$gebruikersnaam = mysql_real_escape_string($_POST['naam']);
$wachtwoord = mysql_real_escape_string(md5($_POST['wachtwoord']));
$query = "SELECT username, password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
if ($dbcon && mysql_num_rows($dbcon) == 1)
{
//Dit is wellicht een beetje overdreven :+
$rij = mysql_fetch_array($dbcon);
$dbwachtwoord = $rij['password'];
$dbgebruiker = $rij['username'];
$dbid = $rij['id'];
if($dbwachtwoord == $wachtwoord)
{
$_SESSION['login'] = "$tusername";
$_SESSION['id'] = "$dbid";
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
// *************************** Foute login via loginscherm ************************
elseif($_POST[hidden] == 1)
{
echo "U hebt iets fout gedaan! Dit kunnen de redenen zijn!<br>
» Uw Gebruikersnaam en/of wachtwoord zijn verkeerd || In dit geval, klik <a href='forget.php'>hier</a><br>
» Uw Gebruikersnaam bestaat niet<br>
» U bent verbannen<br><br>
Is niets van dit waar, meld dit dan bij de admin";
}
}else{
?>
Nu kan u hier inloggen. Vul hieronder uw gegevens in!<br><br>
<form method="POST" name="POST" action="index.php?page=login">
<table border="0">
<tr><td> <font color="white" size="1" face="verdana"> Gebruikersnaam:</td><td><input name="username" type="text" size="18" maxlength="20"></td></tr>
<tr><td> <font color="white" size="1" face="verdana"> Wachtwoord:</td><td><input name="password" type="password" size="18" maxlength="20"></td></tr>
</table>
<input type="hidden" name="hidden" value="1">
<input type="submit" value="Inloggen"> || <input type="reset" value="Wis Velden">
<?php
}
?>
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$gebruikersnaam = mysql_real_escape_string($_POST['naam']);
$wachtwoord = mysql_real_escape_string(md5($_POST['wachtwoord']));
$query = "SELECT username, password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
if ($dbcon && mysql_num_rows($dbcon) == 1)
{
//Dit is wellicht een beetje overdreven :+
$rij = mysql_fetch_array($dbcon);
$dbwachtwoord = $rij['password'];
$dbgebruiker = $rij['username'];
$dbid = $rij['id'];
if($dbwachtwoord == $wachtwoord)
{
$_SESSION['login'] = "$tusername";
$_SESSION['id'] = "$dbid";
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
// *************************** Foute login via loginscherm ************************
elseif($_POST[hidden] == 1)
{
echo "U hebt iets fout gedaan! Dit kunnen de redenen zijn!<br>
» Uw Gebruikersnaam en/of wachtwoord zijn verkeerd || In dit geval, klik <a href='forget.php'>hier</a><br>
» Uw Gebruikersnaam bestaat niet<br>
» U bent verbannen<br><br>
Is niets van dit waar, meld dit dan bij de admin";
}
}else{
?>
Nu kan u hier inloggen. Vul hieronder uw gegevens in!<br><br>
<form method="POST" name="POST" action="index.php?page=login">
<table border="0">
<tr><td> <font color="white" size="1" face="verdana"> Gebruikersnaam:</td><td><input name="username" type="text" size="18" maxlength="20"></td></tr>
<tr><td> <font color="white" size="1" face="verdana"> Wachtwoord:</td><td><input name="password" type="password" size="18" maxlength="20"></td></tr>
</table>
<input type="hidden" name="hidden" value="1">
<input type="submit" value="Inloggen"> || <input type="reset" value="Wis Velden">
<?php
}
?>
Alvast Bedankt
Greetz
Gewijzigd op 01/01/1970 01:00:00 door Fabian Tack
----
Oh, en weet je zeker dat het niet zoiets moet zijn:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$query = "SELECT username, password FROM users WHERE username = '".$gebruikersnaam."' AND password = MD5('".$wachtwoord."')";
$dbcon = mysql_query($query);
if ($dbcon && mysql_num_rows($dbcon) == 1)
{
?>
$query = "SELECT username, password FROM users WHERE username = '".$gebruikersnaam."' AND password = MD5('".$wachtwoord."')";
$dbcon = mysql_query($query);
if ($dbcon && mysql_num_rows($dbcon) == 1)
{
?>
Maar wrm md5() je in een query is mss niet fout maar ik zou het niet doen. en ik denk dat je een } te weinig hebt op het einde. Als ik me niet vergis :P
Als je een md5-waarde in de database wil vergelijken met een gepost wachtwoord, dan zal dit wachtwoord eerst gemd5d moeten worden. Maar het kan natuurlijk ook dat ik het na al die jaren gebruik nooit goed heb gesnapt en voor niks moderator ben :-)
Ik probeer nu sha1() te gebruiken...
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
Andries:
md5()...
Ik probeer nu sha1() te gebruiken, net ietsje veiliger (40 tekens i.p.v. 32)
Ik probeer nu sha1() te gebruiken, net ietsje veiliger (40 tekens i.p.v. 32)
nou, nee, sha1 is niet veiliger ;)
Andries:
sha1() is niet veiliger. Ook niet een klein beetje. Zelfs niet een piepklein beetje. 40 tekens ten opzichte van 32 wil alleen maar zeggen dat het moeilijker te ontbinden is in priemfactoren. Dus dat briljante wiskundigen het moeilijker kunnen kraken. Voor bruteforce hacks maakt het niets uit, en sha1 en md5 zijn allebei al meerdere malen in priemfactoren ontbonden. md5()...
Ik probeer nu sha1() te gebruiken, net ietsje veiliger (40 tekens i.p.v. 32)
Ik probeer nu sha1() te gebruiken, net ietsje veiliger (40 tekens i.p.v. 32)
Die waanideeën van iedereen dat sha1 veiliger is moeten er nu echt uit op dit forum. Ook de grote bruteforcedatabases zijn er voor zowel md5 als sha1 tegenwoordig.
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
Niet naïef gaan lopen doen. Óf je gebruikt een bestaande hashfunction, of je gebruikt een zelfgemaakte. Maar verwacht niet dat de keuze van de hashfunction ook maar iets uitmaakt voor de veiligheid van je script.
het beste in volgens mij md5(sha1(sha1(md5(string)))) o.i.d.
PHP:
Dat is even goed als substr(md5($string), 0, 30)... dit naieve gaat echt nergens over..het beste in volgens mij md5(sha1(sha1(md5(string)))) o.i.d.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query = "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
$query = "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
Donhertog:
anders doen je het zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query = "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
$query = "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$dbcon = mysql_query($query);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
Dat zal niet werken, want mysql_query() retourneerd een resource en zeker niet een string. Dan moet er eerst nog mysql_fetch_assoc() o.i.d. tussen.
sorry was ik even vergeten te typen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$dbcon = mysql_query "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$pass = mysql_fetch_array ($dbcon);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
$dbcon = mysql_query "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$pass = mysql_fetch_array ($dbcon);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
als het goed is werkt het zo wel
Donhertog:
Klopt nog steeds niet ^^@PHPerik
sorry was ik even vergeten te typen
als het goed is werkt het zo wel
sorry was ik even vergeten te typen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$dbcon = mysql_query "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$pass = mysql_fetch_array ($dbcon);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
$dbcon = mysql_query "SELECT password FROM users WHERE username = '".$gebruikersnaam."' AND password = '".$wachtwoord."'";
$pass = mysql_fetch_array ($dbcon);
$wachtwoord = md5($_POST['wachtwoord'];
if ($wachtwoord == $dbcon)
{
echo "U bent nu ingelogd! Welkom en voel u vrij om de site te bezoeken!";
}
?>
als het goed is werkt het zo wel
en tegen bruteforce attacks:
GR. mebus!
wat heeft sleep er mee te maken voert dat de code niet uit na 4sec in dit geval?