Wachtwoord Controle niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marvin Radioo

Marvin Radioo

17/04/2011 20:12:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>'
;

?>

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
 
PHP hulp

PHP hulp

28/03/2024 19:40:10
 
Write Down

Write Down

17/04/2011 20:33:44
Quote Anchor link
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)
 
Noppes Homeland

Noppes Homeland

17/04/2011 20:33:55
Quote Anchor link
Omdat dit gewoon bagger-code is.
 
Marvin Radioo

Marvin Radioo

17/04/2011 20:42:33
Quote Anchor link
Goh Bedankt voor je helpende reactie.

Help me gewoon even met wat fout is en zet er geen domme reacties neer :S
 
Write Down

Write Down

17/04/2011 20:52:17
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 */
}
?>
 
Marvin Radioo

Marvin Radioo

17/04/2011 20:53:46
Quote Anchor link
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? :$
 
Noppes Homeland

Noppes Homeland

17/04/2011 20:55:21
Quote Anchor link
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.
 
Marvin Radioo

Marvin Radioo

17/04/2011 20:57:40
Quote Anchor link
dat zie ik ja.
die neemt de moeite.

jij zit anderen even de les te lezen
 

17/04/2011 20:58:03
 
Marvin Radioo

Marvin Radioo

17/04/2011 20:59:05
Quote Anchor link
Hier heb ik dus niks aan.

Vraag het wel weer op een ander forum.
 

17/04/2011 21:01:10
Quote Anchor link
Marvin Radioo op 17/04/2011 20:59:05:
Hier heb ik dus niks aan.

Vraag het wel weer op een ander forum.



Luiwammes.
 
Wesley PHP

Wesley PHP

17/04/2011 21:02:36
Quote Anchor link
Karl Karl op 17/04/2011 21:01:10:
Marvin Radioo op 17/04/2011 20:59:05:
Hier heb ik dus niks aan.

Vraag het wel weer op een ander forum.



Luiwammes.


Waarschijnlijk beschikt hij niet over de kennis ..
 

17/04/2011 21:04:03
Quote Anchor link
Wesley PHP op 17/04/2011 21:02:36:
Karl Karl op 17/04/2011 21:01:10:
Marvin Radioo op 17/04/2011 20:59:05:
Hier heb ik dus niks aan.

Vraag het wel weer op een ander forum.



Luiwammes.


Waarschijnlijk beschikt hij niet over de kennis ..


Daarom zeg ik ook leer ;-)
 
Victor Php

Victor Php

17/04/2011 21:04:12
Quote Anchor link
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?
 
Write Down

Write Down

17/04/2011 21:40:48
Quote Anchor link
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 :-)
 
Jordi Kroon

Jordi Kroon

17/04/2011 22:46:28
Quote Anchor link
@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 ;)
 
Write Down

Write Down

17/04/2011 23:06:34
Quote Anchor link
@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
Gewijzigd op 17/04/2011 23:06:49 door Write Down
 
- SanThe -

- SanThe -

18/04/2011 03:38:05
Quote Anchor link
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.
 
Luuk Mulder

Luuk Mulder

18/04/2011 09:15:06
Quote Anchor link
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 ;)
}
 
Write Down

Write Down

18/04/2011 09:19:58
Quote Anchor link
@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
Gewijzigd op 18/04/2011 11:10:24 door Write Down
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.