Niek's lijstje
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
50
51
52
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
$query = "SELECT * FROM dalanuser WHERE username = '". mysql_real_escape_string($_POST['username']) ."' AND password = '". mysql_real_escape_string(md5($_POST['password'])) ."'";
$mysqlquery = mysql_query($query);
$mysqlrows = mysql_num_rows($mysqlquery);
echo 'Query<br/>';
echo $query.'<br/>';
echo 'mysql_query($query)<br/>';
echo $mysqlquery.'<br/>';
echo 'mysql_num_rows $mysqlquery<br/>';
echo $mysqlrows.'<br/>';
echo '<br/>';
if($mysqlquery){
echo 'Mysql query is mogelijk<br/>';
}
else
{
echo 'Mysql query is NIET mogelijk<br/>';
}
if($mysqlrows){
echo 'Tellen is mogelijk<br/>';
}
else
{
echo 'Tellen is NIET mogelijk<br/>';
}
echo '<br/>';
var_dump($mysqlrows);
echo '<br/>';
var_dump($mysqlquery);
echo '<br/>';
if($mysqlrows > 0){
while($row = mysql_fetch_assoc($mysqlquery)){
$_SESSION['dalansession'] = TRUE;
$_SESSION['dalanuser'] = $row['username'];
$_SESSION['dalanid'] = $row['userid'];
$_SESSION['dalanemail'] = $row['email'];
echo 'Welcome back, '. $row['username'] .'!';
header('Refresh: 5; url='.$settings['urllogin']);
exit;
}
}
else
{
echo 'Your username / password does not exist! Please try again, after 5 seconds.';
// header('Refresh: 5; url=login.php');
exit;
}
$mysqlquery = mysql_query($query);
$mysqlrows = mysql_num_rows($mysqlquery);
echo 'Query<br/>';
echo $query.'<br/>';
echo 'mysql_query($query)<br/>';
echo $mysqlquery.'<br/>';
echo 'mysql_num_rows $mysqlquery<br/>';
echo $mysqlrows.'<br/>';
echo '<br/>';
if($mysqlquery){
echo 'Mysql query is mogelijk<br/>';
}
else
{
echo 'Mysql query is NIET mogelijk<br/>';
}
if($mysqlrows){
echo 'Tellen is mogelijk<br/>';
}
else
{
echo 'Tellen is NIET mogelijk<br/>';
}
echo '<br/>';
var_dump($mysqlrows);
echo '<br/>';
var_dump($mysqlquery);
echo '<br/>';
if($mysqlrows > 0){
while($row = mysql_fetch_assoc($mysqlquery)){
$_SESSION['dalansession'] = TRUE;
$_SESSION['dalanuser'] = $row['username'];
$_SESSION['dalanid'] = $row['userid'];
$_SESSION['dalanemail'] = $row['email'];
echo 'Welcome back, '. $row['username'] .'!';
header('Refresh: 5; url='.$settings['urllogin']);
exit;
}
}
else
{
echo 'Your username / password does not exist! Please try again, after 5 seconds.';
// header('Refresh: 5; url=login.php');
exit;
}
Geeft terug:
Code (php)
1
2
3
4
5
2
3
4
5
Query
SELECT * FROM dalanuser WHERE username = 'Dalando' AND password = '***HASH***HASH***HASH***'
mysql_query($query)
Resource id #5
mysql_num_rows $mysqlquery
SELECT * FROM dalanuser WHERE username = 'Dalando' AND password = '***HASH***HASH***HASH***'
mysql_query($query)
Resource id #5
mysql_num_rows $mysqlquery
Mysql query is mogelijk
Tellen is NIET mogelijk
int(0)
resource(5) of type (mysql result)
Your username / password does not exist! Please try again, after 5 seconds.
Wat raar is.
De hash die hij terug geeft is gelijk aan die in de database. Dus er moet een fout zijn in mijn Query, maar wat?
Gewijzigd op 25/09/2010 23:27:58 door Dalando De Zuil
Dan zullen de vele echo's ook het `juiste` weergeven
Een wachtwoord wordt normaal gesproken gehashed opgeslagen met een md5 / sha1!!
En ga ook eens wat beginners tuts doornemen en dan vooral de aandacht leggen op het aftesten van variabelen
En lees dan ook gelijk iets over headers already sent
Gewijzigd op 25/09/2010 23:37:02 door Noppes Homeland
Noppes Homeland op 25/09/2010 23:33:06:
PHP VARIABELEN BUITEN QUOTES!!
Dan zullen de vele echo's ook het `juiste` weergeven
Een wachtwoord wordt normaal gesproken gehashed opgeslagen met een md5 / sha1!!
En ga ook eens wat beginners tuts doornemen en dan vooral de aandacht leggen op het aftesten van variabelen
En lees dan ook gelijk iets over headers already sent
Dan zullen de vele echo's ook het `juiste` weergeven
Een wachtwoord wordt normaal gesproken gehashed opgeslagen met een md5 / sha1!!
En ga ook eens wat beginners tuts doornemen en dan vooral de aandacht leggen op het aftesten van variabelen
En lees dan ook gelijk iets over headers already sent
Je ziet toch dat tie een hash gebruikt...
Dalando: en de username? Ook met hoofdletter?
Quote:
Je ziet toch dat tie een hash gebruikt...
Nee, dat had ik niet gezien en dat komt omdat ie de md5 nog eens door de _real_escpae haalt wat totaal zinloos is
Noppes Homeland op 25/09/2010 23:48:10:
Nee, dat had ik niet gezien en dat komt omdat ie de md5 nog eens door de _real_escpae haalt wat totaal zinloos is
Quote:
Je ziet toch dat tie een hash gebruikt...
Nee, dat had ik niet gezien en dat komt omdat ie de md5 nog eens door de _real_escpae haalt wat totaal zinloos is
Wat ook al een aantal keer gezegd is ;)
Noppes Homeland op 25/09/2010 23:33:06:
PHP VARIABELEN BUITEN QUOTES!!
Nee, dat had ik expres gedaan, om te laten zien welke data er word geëchoed.
Quote:
En lees dan ook gelijk iets over headers already sent
dat je session_start() niet helemaal bovenaan hebt staan? Dat ken ik al. Ben niet dom ofzo -.- okay misschien wel een beetje, maar volgens mij heb je me nu even te laag ingeschat.
Maar waarom werkt de login nou niet?
EDIT: ik heb wat geprobeerd:
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
50
51
52
53
54
55
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
54
55
<?php
session_start();
require_once 'mysql_config.php';
if(isset($_SESSION['dalansession']) && $_SESSION['dalansession'] == TRUE){
echo 'No need to register, you're already logged in!<br/>Redirect in 5 seconds.';
header('Refresh: 5; url='.$settings['urllogin']);
exit;
}
// Check if submitted
if($_SERVER['REQUEST_METHOD'] == "POST"){
if(!isset($_POST['username']) || !isset($_POST['password']) || empty($_POST['username']) || empty($_POST['password'])){
echo 'One of the fields was empty! Please try again, in 5 seconds.';
header('Refresh: 5; url=login.php');
exit;
}
$query = "SELECT * FROM dalanuser WHERE username = '". mysql_real_escape_string($_POST['username']) ."' AND password = '". mysql_real_escape_string(md5($_POST['password'])) ."'";
$mysqlquery = mysql_query($query);
$mysqlrows = mysql_num_rows($mysqlquery);
if($mysqlrows > 0){
while($row = mysql_fetch_assoc($mysqlquery)){
$_SESSION['dalansession'] = TRUE;
$_SESSION['dalanuser'] = $row['username'];
$_SESSION['dalanid'] = $row['userid'];
$_SESSION['dalanemail'] = $row['email'];
echo 'Welcome back, '. $row['username'] .'!';
header('Refresh: 5; url='.$settings['urllogin']);
exit;
}
}
else
{
echo 'Your username / password does not exist! Please try again, after 5 seconds.';
header('Refresh: 5; url=login.php');
exit;
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<br/>
<input type="submit" value="Login!"/><br/>
</form>
session_start();
require_once 'mysql_config.php';
if(isset($_SESSION['dalansession']) && $_SESSION['dalansession'] == TRUE){
echo 'No need to register, you're already logged in!<br/>Redirect in 5 seconds.';
header('Refresh: 5; url='.$settings['urllogin']);
exit;
}
// Check if submitted
if($_SERVER['REQUEST_METHOD'] == "POST"){
if(!isset($_POST['username']) || !isset($_POST['password']) || empty($_POST['username']) || empty($_POST['password'])){
echo 'One of the fields was empty! Please try again, in 5 seconds.';
header('Refresh: 5; url=login.php');
exit;
}
$query = "SELECT * FROM dalanuser WHERE username = '". mysql_real_escape_string($_POST['username']) ."' AND password = '". mysql_real_escape_string(md5($_POST['password'])) ."'";
$mysqlquery = mysql_query($query);
$mysqlrows = mysql_num_rows($mysqlquery);
if($mysqlrows > 0){
while($row = mysql_fetch_assoc($mysqlquery)){
$_SESSION['dalansession'] = TRUE;
$_SESSION['dalanuser'] = $row['username'];
$_SESSION['dalanid'] = $row['userid'];
$_SESSION['dalanemail'] = $row['email'];
echo 'Welcome back, '. $row['username'] .'!';
header('Refresh: 5; url='.$settings['urllogin']);
exit;
}
}
else
{
echo 'Your username / password does not exist! Please try again, after 5 seconds.';
header('Refresh: 5; url=login.php');
exit;
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<br/>
<input type="submit" value="Login!"/><br/>
</form>
maar helaas...
Gewijzigd op 26/09/2010 09:18:38 door Dalando De Zuil
Had je nou al gekeken of je username in de db ook met een hoofdletter start?
Code (php)
En nu maar weer zeiken over het gebruik van de functie empty, empty is een zinloze functie die je niet moet gebruiken!!
En dan maar niets te hoeven schrijven over:
- (mysql) foutafhandeling.
- $_SERVER['PHP_SELF']
en terugkomende op iets wat ik eerder gepost heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?Php
/* overbodig veel echo's + php variabelen buiten quotes!! */
echo 'Query<br/>';
echo $query.'<br/>';
echo 'mysql_query($query)<br/>';
echo $mysqlquery.'<br/>';
echo 'mysql_num_rows $mysqlquery<br/>';
echo $mysqlrows.'<br/>';
echo '<br/>';
echo 'Query<br/>'.
$query.'<br/>
mysql_query('.$query.')<br/>'.
$mysqlquery.'<br/>'.
'mysql_num_rows '.$mysqlquery.'<br/>';
$mysqlrows.'<br/><br />';
?>
/* overbodig veel echo's + php variabelen buiten quotes!! */
echo 'Query<br/>';
echo $query.'<br/>';
echo 'mysql_query($query)<br/>';
echo $mysqlquery.'<br/>';
echo 'mysql_num_rows $mysqlquery<br/>';
echo $mysqlrows.'<br/>';
echo '<br/>';
echo 'Query<br/>'.
$query.'<br/>
mysql_query('.$query.')<br/>'.
$mysqlquery.'<br/>'.
'mysql_num_rows '.$mysqlquery.'<br/>';
$mysqlrows.'<br/><br />';
?>
Gewijzigd op 26/09/2010 11:29:05 door Noppes Homeland
De opbouw is wel niet mooi op deze manier. Er staat nu php code tussen de html code die er niet hoort. Test je zelf eigenlijk met een layout ofzo? Ik weet niet of je download nog in orde is omdat je zoveel aan het veranderen bent maar als ik het goed zie moet ik je stukken code tussen de body tags plaatsen. Dan ga je dus weer headers already send errors krijgen. En de boel uit elkaar trekken gaat ook niet echt omdat je de fouten direct naar de browser stuurt.
Verder geef je nu voor de 300e keer aan wat er mis is aan het script, maar als je terug leest in dit topic & bij z'n script, dan zie je dat dat ook al vaak gezegd is. Dus bedankt voor het nutteloos herhalen!
Ondertussen help je hem niet met zijn daadwerkelijke probleem. Dat is te moeilijk?
Dalando: ik vraag je dus nogmaals je data in je database te controleren. Ook moet je even je query echo'en, en vervolgens kijken of je die met PHPMyAdmin (oid) WEL (succesvol) uit kunt voeren. Dan weet je beter waar je probleem ligt
Niek s op 26/09/2010 12:10:44:
Noppes: kap nou met je gezeik over empty(). Als hij wil weten of die variabele leeg is, laat hem!
Verder geef je nu voor de 300e keer aan wat er mis is aan het script, maar als je terug leest in dit topic & bij z'n script, dan zie je dat dat ook al vaak gezegd is. Dus bedankt voor het nutteloos herhalen!
Ondertussen help je hem niet met zijn daadwerkelijke probleem. Dat is te moeilijk?
Dalando: ik vraag je dus nogmaals je data in je database te controleren. Ook moet je even je query echo'en, en vervolgens kijken of je die met PHPMyAdmin (oid) WEL (succesvol) uit kunt voeren. Dan weet je beter waar je probleem ligt
Verder geef je nu voor de 300e keer aan wat er mis is aan het script, maar als je terug leest in dit topic & bij z'n script, dan zie je dat dat ook al vaak gezegd is. Dus bedankt voor het nutteloos herhalen!
Ondertussen help je hem niet met zijn daadwerkelijke probleem. Dat is te moeilijk?
Dalando: ik vraag je dus nogmaals je data in je database te controleren. Ook moet je even je query echo'en, en vervolgens kijken of je die met PHPMyAdmin (oid) WEL (succesvol) uit kunt voeren. Dan weet je beter waar je probleem ligt
Daar heb ik naar gekeken, maar de tekens zijn identiek kwa hoofletters, cijfers, tekens en alle andere zooi. dus dat vind ik zo raar :/
Niek s op 26/09/2010 12:10:44:
Ook moet je even je query echo'en, en vervolgens kijken of je die met PHPMyAdmin (oid) WEL (succesvol) uit kunt voeren. Dan weet je beter waar je probleem ligt
Ha ha, laat me niet lachen een query uitvoeren met PHPMyAdmin, dat garandeerd nog steeds niet dat het een geldige / correcte query is.
Noppes Homeland op 26/09/2010 16:41:38:
Ha ha, laat me niet lachen een query uitvoeren met PHPMyAdmin, dat garandeerd nog steeds niet dat het een geldige / correcte query is.
Doe nou nie zo bijdehand en ga naar fok.nl ofzo
Ik doe niet bijdehand, ik waarschuw alleen diegene die met PHPMyAdmin denken de juiste tool te gebruiken, wat dus duidelijk niet het geval is.
Noppes, het is wel degelijk bijdehand. Dat PMA een flink aantal beveiligingsrisico's heeft, staat los van het feit of een query wel of niet werkt. Als jij een query maakt die wel in PMA werkt, maar niet in jouw script of andersom, is er duidelijk iets mis. En daar ging het om, niet over PMA zelf...
En ja je zult ook mysql goed moet configureren alvorens je ook maar iets gaat doet met mysql.
Verder naar waar dit topic over ging. Lukt 't al Dalando?