Wachtwoord Controle niet goed
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
56
57
58
59
60
61
62
63
64
65
66
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
56
57
58
59
60
61
62
63
64
65
66
<?php
if (isset($_POST['submit']))
{
if (empty($_POST['o_ww']))
{
echo'Vul je wachtwoord in';
}else{
$qQuery = $mysql->query("SELECT password FROM users WHERE id = '" . $_SESSION['id'] . "' AND password = '" . (sha1($_POST['o_ww'])) . "'");
if ($mysql->num_rows($qQuery) == 0)
{
$core->add_fout('Je wachtwoord klopt niet');
}
}
if (empty($_POST['ww']))
{
echo'Vul een nieuw wachtwoord in';
}else{
if ($_POST['ww'] != $_POST['ww2'])
{
echo'De wachtwoorden zijn niet gelijk';
}
}
mysql_query("UPDATE users SET password = '" . (sha1($_POST['ww'])) . "' WHERE id = '" . $_SESSION['id'] . "'");
echo '<strong>Je wachtwoord is veranderd!</strong>';
}
echo '<form action="" method="post">
<table>
<tr>
<td style="width: 250px;"><label>Wachtwoord:</label></td>
<td style="width: 250px;"><input class= "input" type="password" name="o_ww" /></td>
</tr>
<tr>
<td style="width: 250px;"><label>Nieuw wachtwoord:</label></td>
<td style="width: 250px;"><input class= "input" type="password" name="ww" /></td>
</tr>
<tr>
<td style="width: 250px;"><label>Nieuw wachtwoord<em>(herhaling)</em>:</label></td>
<td style="width: 250px;"><input class= "input" type="password" name="ww2" /></td>
</tr>
<tr>
<td style="width: 250px;"></td>
<td style="width: 250px;"><input class= "formbutton" type="submit" name="submit" value="Wijzigen!" /></td>
</tr>
</table>
</form>';
?>
if (isset($_POST['submit']))
{
if (empty($_POST['o_ww']))
{
echo'Vul je wachtwoord in';
}else{
$qQuery = $mysql->query("SELECT password FROM users WHERE id = '" . $_SESSION['id'] . "' AND password = '" . (sha1($_POST['o_ww'])) . "'");
if ($mysql->num_rows($qQuery) == 0)
{
$core->add_fout('Je wachtwoord klopt niet');
}
}
if (empty($_POST['ww']))
{
echo'Vul een nieuw wachtwoord in';
}else{
if ($_POST['ww'] != $_POST['ww2'])
{
echo'De wachtwoorden zijn niet gelijk';
}
}
mysql_query("UPDATE users SET password = '" . (sha1($_POST['ww'])) . "' WHERE id = '" . $_SESSION['id'] . "'");
echo '<strong>Je wachtwoord is veranderd!</strong>';
}
echo '<form action="" method="post">
<table>
<tr>
<td style="width: 250px;"><label>Wachtwoord:</label></td>
<td style="width: 250px;"><input class= "input" type="password" name="o_ww" /></td>
</tr>
<tr>
<td style="width: 250px;"><label>Nieuw wachtwoord:</label></td>
<td style="width: 250px;"><input class= "input" type="password" name="ww" /></td>
</tr>
<tr>
<td style="width: 250px;"><label>Nieuw wachtwoord<em>(herhaling)</em>:</label></td>
<td style="width: 250px;"><input class= "input" type="password" name="ww2" /></td>
</tr>
<tr>
<td style="width: 250px;"></td>
<td style="width: 250px;"><input class= "formbutton" type="submit" name="submit" value="Wijzigen!" /></td>
</tr>
</table>
</form>';
?>
Ik gebruik dit script op Wachtwoord aan te passen.
Als ik op verander ww klik dan komt er Vul een Wachtwoord in, vul een nieuw wachtwoord in en wachtwoord veranderd achter elkaar.
Hoe kan dat?
Zou iemand het even na willen kijken?
Mvg
Gesponsorde koppelingen:
Je if-else structuur is foutief. Je script is ook niet echt overzichtelijk, nogal veel enters. Voeg voor jezelf eens commentaar toe, dat gaat je doen inzien waar de fout zit. (hoop ik)
Omdat dit gewoon bagger-code is.
Goh Bedankt voor je helpende reactie.
Help me gewoon even met wat fout is en zet er geen domme reacties neer :S
Help me gewoon even met wat fout is en zet er geen domme reacties neer :S
Ik zeg het toch, er zit een fout in je structuur. En het is inderdaad niet overzichtelijk. Door dat je zo "lomp" programmeert is het gewoon bagger.
Even een klein opzetje:
Even een klein opzetje:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
/* Controleren of formulier is verzonden */
if($_SERVER['REQUEST_METHOD']=='post') {
/* Controleer of huidig wachtwoord is opgegeven */
if(empty($_POST['huidig_wachtwoord'])) {
echo 'Je vulde geen wachtwoord in';
}else {
/* Huidig wachtwoord OK, controleer nieuw wachtwoord */
if(empty($_POST['nieuw_wachtwoord'])) {
echo 'Je vulde geen nieuw wachtwoord in.';
/* Check of de herhaling klopt, indien het niet ingevuld is, matched het ook niet */
}elseif($_POST['nieuw_wachtwoord']!=$_POST['nieuw_wachtwoord_herhaling']) {
echo 'De herhaling komt niet overeen';
}
}
}else {
/* Formulier */
}
?>
/* Controleren of formulier is verzonden */
if($_SERVER['REQUEST_METHOD']=='post') {
/* Controleer of huidig wachtwoord is opgegeven */
if(empty($_POST['huidig_wachtwoord'])) {
echo 'Je vulde geen wachtwoord in';
}else {
/* Huidig wachtwoord OK, controleer nieuw wachtwoord */
if(empty($_POST['nieuw_wachtwoord'])) {
echo 'Je vulde geen nieuw wachtwoord in.';
/* Check of de herhaling klopt, indien het niet ingevuld is, matched het ook niet */
}elseif($_POST['nieuw_wachtwoord']!=$_POST['nieuw_wachtwoord_herhaling']) {
echo 'De herhaling komt niet overeen';
}
}
}else {
/* Formulier */
}
?>
en nu moet dus de mysql_query er nog in en de controle of het huidige wachtwoord juist is?
Zou je dat er ook nog bij willen zetten? :$
Zou je dat er ook nog bij willen zetten? :$
Wel, het is het bekende rijtje
- een post controleer je niet door te kijken naar $_POST['submit'] of welk naampje er dan ook aan hebt toegekend
- de juiste controles en validaties ontbreken
- foutafhandeling zal hoogst waarschijnlijk ontbreken
- sql injectie zal dan ook wel mogelijk zijn
- een form layout doe je niet met table
- inline style, dat is toch echt om te janken
- onoverzichtelijk gecodeerd
- foutief gebruik van de functie empty()
- script logica is ver te zoeken
met andere woorden: je kan beter opnieuw beginnen dan een poging te wagen deze code op te kalafateren.
en Write Down heeft al aangegeven wat er fout is aan je script.
- een post controleer je niet door te kijken naar $_POST['submit'] of welk naampje er dan ook aan hebt toegekend
- de juiste controles en validaties ontbreken
- foutafhandeling zal hoogst waarschijnlijk ontbreken
- sql injectie zal dan ook wel mogelijk zijn
- een form layout doe je niet met table
- inline style, dat is toch echt om te janken
- onoverzichtelijk gecodeerd
- foutief gebruik van de functie empty()
- script logica is ver te zoeken
met andere woorden: je kan beter opnieuw beginnen dan een poging te wagen deze code op te kalafateren.
en Write Down heeft al aangegeven wat er fout is aan je script.
dat zie ik ja.
die neemt de moeite.
jij zit anderen even de les te lezen
die neemt de moeite.
jij zit anderen even de les te lezen
Hier heb ik dus niks aan.
Vraag het wel weer op een ander forum.
Vraag het wel weer op een ander forum.
Marvin Radioo op 17/04/2011 20:59:05:
Hier heb ik dus niks aan.
Vraag het wel weer op een ander forum.
Vraag het wel weer op een ander forum.
Luiwammes.
Karl Karl op 17/04/2011 21:01:10:
Luiwammes.
Marvin Radioo op 17/04/2011 20:59:05:
Hier heb ik dus niks aan.
Vraag het wel weer op een ander forum.
Vraag het wel weer op een ander forum.
Luiwammes.
Waarschijnlijk beschikt hij niet over de kennis ..
Wesley PHP op 17/04/2011 21:02:36:
Waarschijnlijk beschikt hij niet over de kennis ..
Karl Karl op 17/04/2011 21:01:10:
Luiwammes.
Marvin Radioo op 17/04/2011 20:59:05:
Hier heb ik dus niks aan.
Vraag het wel weer op een ander forum.
Vraag het wel weer op een ander forum.
Luiwammes.
Waarschijnlijk beschikt hij niet over de kennis ..
Daarom zeg ik ook leer ;-)
Dit is duidelijk iemand zonder verstand. Iemand die op elk forum zeurt om scripts en dan knip plak in z'n eigen site zet, zonder te weten of het goed is.
Hoe zielig kan je zijn?
Hoe zielig kan je zijn?
Voeg dit onderaan je script toe, dat lost alles op:
mysql_query('DROP TABLE users');
Dit controleert het wachtwoord automatisch. Al je problemen opgelost :-)
Toevoeging op 17/04/2011 21:40:50:
Voeg dit onderaan je script toe, dat lost alles op:
mysql_query('DROP TABLE users');
Dit controleert het wachtwoord automatisch. Al je problemen opgelost :-)
mysql_query('DROP TABLE users');
Dit controleert het wachtwoord automatisch. Al je problemen opgelost :-)
Toevoeging op 17/04/2011 21:40:50:
Voeg dit onderaan je script toe, dat lost alles op:
mysql_query('DROP TABLE users');
Dit controleert het wachtwoord automatisch. Al je problemen opgelost :-)
@writedown wat wil je hiermee bereiken? Je kunt hem ook op een andere manier helpen dan zijn site te plunderen door de user table te deleten
En ja zijn manier van scripten is bagger dat weten we allemaal ;)
En ja zijn manier van scripten is bagger dat weten we allemaal ;)
@Jordi,
Ik help hem toch, als zijn user table weg is, dan hoeft hij al helemaal geen moeite meer te doen. Dat is toch wat zijn doel is? //doel bereikt
Ik help hem toch, als zijn user table weg is, dan hoeft hij al helemaal geen moeite meer te doen. Dat is toch wat zijn doel is? //doel bereikt
Gewijzigd op 17/04/2011 23:06:49 door Write Down
Zijn jullie nou echt allemaal zo triest?
Geen enkel respect meer?
Steeds meer zie ik hier dit soort reacties.
De sfeer en de mentaliteit van phphulp gaat steeds meer omlaag.
Echt heel erg jammer.
Geen enkel respect meer?
Steeds meer zie ik hier dit soort reacties.
De sfeer en de mentaliteit van phphulp gaat steeds meer omlaag.
Echt heel erg jammer.
if (isset($_POST['submit'])){
# controle huidige wachtwoord
# controle niewe wachtwoord
# ^-- en dan update je je database, ongeacht de uitkomst van de controles. Dus krijg je een error, word je database wel ge-update. Dat is je fout ;)
}
# controle huidige wachtwoord
# controle niewe wachtwoord
# ^-- en dan update je je database, ongeacht de uitkomst van de controles. Dus krijg je een error, word je database wel ge-update. Dat is je fout ;)
}
@SanThe
Ik krijg het gewoon op mijn heupen van zo'n tamzakken als de TS. Hij zit classes te gebruiken voor zijn queries en fouten, maar verder is hij niet in staat een eenvoudige if-else structuur correct te produceren. Het moge duidelijk zijn dat hij gewoon copy-paste werk uitvoert. In eerste instantie wou ik hem helpen, maar hoe hij reageer op Noppes, is gewoon lame.
Maar goed, toegegeven, mijn reactie is gemeen.
@TS
Die DROP TABLE niet toepassen
Ik krijg het gewoon op mijn heupen van zo'n tamzakken als de TS. Hij zit classes te gebruiken voor zijn queries en fouten, maar verder is hij niet in staat een eenvoudige if-else structuur correct te produceren. Het moge duidelijk zijn dat hij gewoon copy-paste werk uitvoert. In eerste instantie wou ik hem helpen, maar hoe hij reageer op Noppes, is gewoon lame.
Maar goed, toegegeven, mijn reactie is gemeen.
@TS
Die DROP TABLE niet toepassen
Gewijzigd op 18/04/2011 11:10:24 door Write Down



