steeds foutmelding
Hallo
Ik ben nog steeds bezig met het script wat ik wil gaan gebruiken om in te loggen, maar ik loop weer tegen een nieuwe fout aan. ik zie hem niet. het script werkt redelijk goed behalve dat ik steeds dezelfde foutmelding krijg: "wachtwoord is niet correct". ziet iemand wat ik verkeerd doe?
dit is een deel van mn script waar de fout zit:
groetjes
Fabian http://web-stars.nl/
Ik ben nog steeds bezig met het script wat ik wil gaan gebruiken om in te loggen, maar ik loop weer tegen een nieuwe fout aan. ik zie hem niet. het script werkt redelijk goed behalve dat ik steeds dezelfde foutmelding krijg: "wachtwoord is niet correct". ziet iemand wat ik verkeerd doe?
dit is een deel van mn script waar de fout zit:
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$req = mysql_query('
SELECT username, password,id,groep
FROM users
WHERE username="'.$username.'"');
$rowCount = mysql_num_rows($req);
$dn = mysql_fetch_array($req);
if($rowCount = 0 AND $dn['password']!=sha1($password)) {
$form = true;
$message = 'Gebruikersnaam en wachtwoord zijn niet correct.';
}
else {
if($rowCount = 0) {
$form = true;
$message = 'Gebruikersnaam is niet correct.';
}
else {
if($dn['password']!=sha1($password)) {
$form = true;
$message = 'wachtwoord is niet correct.';
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$req = mysql_query('
SELECT username, password,id,groep
FROM users
WHERE username="'.$username.'"');
$rowCount = mysql_num_rows($req);
$dn = mysql_fetch_array($req);
if($rowCount = 0 AND $dn['password']!=sha1($password)) {
$form = true;
$message = 'Gebruikersnaam en wachtwoord zijn niet correct.';
}
else {
if($rowCount = 0) {
$form = true;
$message = 'Gebruikersnaam is niet correct.';
}
else {
if($dn['password']!=sha1($password)) {
$form = true;
$message = 'wachtwoord is niet correct.';
}
?>
groetjes
Fabian http://web-stars.nl/
Gewijzigd op 13/08/2015 14:47:50 door Fabian webstars
Waarom check je het password niet gewoon in de query naar de database?
Toevoeging op 13/08/2015 14:52:53:
Dit is trouwens geen vergelijking maar een toekenning:
if($rowCount = 0 .......
Toevoeging op 13/08/2015 14:52:53:
Dit is trouwens geen vergelijking maar een toekenning:
if($rowCount = 0 .......
Gewijzigd op 13/08/2015 14:53:44 door - SanThe -
ik nap niet wat je bedoeld, zou je het willen uitleggen?
SELECT ... FROM ... WHERE user=... AND pass=...
Uit veiligheidsomstandigheden is het beter om te kijken of de username én wachtwoord correct zijn, en niet beide apart.
Zou je tevens een duidelijkere titel willen bedenken die je vraag- of probleemstelling beschrijft
Alvast bedankt!
Zou je tevens een duidelijkere titel willen bedenken die je vraag- of probleemstelling beschrijft
Alvast bedankt!
Gewijzigd op 13/08/2015 15:15:56 door - Ariën -
danwel: if($rowCount == 0 .......
met == ipv =
---
overigens zou ik niet verraden dat de gebruikersnaam bestaat. Bij een gevonden gebruikersnaam hoeft de hacker alleen nog maar een berg wachtwoorden te proberen.
---
Toevoeging op 13/08/2015 15:15:01:
danwel: if($rowCount == 0 .......
met == ipv =
---
overigens zou ik niet verraden dat de gebruikersnaam bestaat. Bij een gevonden gebruikersnaam hoeft de hacker alleen nog maar een berg wachtwoorden te proberen.
---
Toevoeging op 13/08/2015 15:16:05:
voor een controle van het password in php code valt ook wel wat te zeggen.
Een query zou gelogd kunnen worden op de server. Als het (al dan niet gehashte) password dan in de query stond, staat die ook in de logs.
met == ipv =
---
overigens zou ik niet verraden dat de gebruikersnaam bestaat. Bij een gevonden gebruikersnaam hoeft de hacker alleen nog maar een berg wachtwoorden te proberen.
---
Toevoeging op 13/08/2015 15:15:01:
danwel: if($rowCount == 0 .......
met == ipv =
---
overigens zou ik niet verraden dat de gebruikersnaam bestaat. Bij een gevonden gebruikersnaam hoeft de hacker alleen nog maar een berg wachtwoorden te proberen.
---
Toevoeging op 13/08/2015 15:16:05:
voor een controle van het password in php code valt ook wel wat te zeggen.
Een query zou gelogd kunnen worden op de server. Als het (al dan niet gehashte) password dan in de query stond, staat die ook in de logs.
Ivo P op 13/08/2015 15:15:01:
Als het (al dan niet gehashte) password dan in de query stond, staat die ook in de logs.
Als een hacker de logfiles kan lezen is ie toch al binnen.
Ik zou je controle ook anders opzetten.
Nu heb je zoiets
Hoe heb je nu de garantie dat als je de "else" bereikt dat er sprake is van een "goede situatie"? Mogelijk mis je iets in je logica en bevindt je je dan helemaal niet de goede situatie!
Beter is dus
Anders wordt het gewoon hopeloos verwarrend.
Daarnaast... Spring ajb in in je code...
Nu heb je zoiets
Hoe heb je nu de garantie dat als je de "else" bereikt dat er sprake is van een "goede situatie"? Mogelijk mis je iets in je logica en bevindt je je dan helemaal niet de goede situatie!
Beter is dus
Anders wordt het gewoon hopeloos verwarrend.
Daarnaast... Spring ajb in in je code...
"Als een hacker de logfiles kan lezen is ie toch al binnen."
klopt, maar het kan ook een medegebruiker van de server zijn.
En log files hebben vaak minder aandacht mbt beveiliging, dus die kunnen op allerlei plaatsten gekopieerd komen te staan. Ook in onbeveiligde plekken
klopt, maar het kan ook een medegebruiker van de server zijn.
En log files hebben vaak minder aandacht mbt beveiliging, dus die kunnen op allerlei plaatsten gekopieerd komen te staan. Ook in onbeveiligde plekken
>> En log files hebben vaak minder aandacht mbt beveiliging, dus die kunnen op allerlei plaatsten gekopieerd komen te staan. Ook in onbeveiligde plekken
Ik neem aan dat dit niet aan de orde is wanneer je een eigen VPS huurt?
Ik neem aan dat dit niet aan de orde is wanneer je een eigen VPS huurt?
hangt er uiteraard vanaf wie je allemaal toegang geeft tot je server.
En of je de logfiles niet af en toe naar je pc / dropbox / usbstick kopieert ter backup of om gemakkelijker te kunnen zoeken naar query's die fouten opleverden.
En of je de logfiles niet af en toe naar je pc / dropbox / usbstick kopieert ter backup of om gemakkelijker te kunnen zoeken naar query's die fouten opleverden.




