Avatar billede basementjack Nybegynder
23. november 2003 - 15:09 Der er 13 kommentarer og
1 løsning

Sumit vha. Enter-tast

Nu ved jeg godt at det ikke er sikreste script, men det jeg mangler ved det er hvis jeg trykker på "Enter", logger jeg ind..
I øjeblikket fjerner den det der står i input-feltet, hvis du taster Enter.. og det var det..
(Grunden til at der er et hidden input-feltet er fra de spm jeg har læst omkring emnet... Men det virkede heller ikke...)

<?php
  $password    = "Kodeord";
?>
Skriv Password her:<BR>
<form ACTION="<?php echo $PHP_SELF; ?> " METHOD="POST">
<INPUT value="1" type="hidden">
<INPUT name="indTastetPassword" TYPE="password">
<INPUT name="enter" onKeyPress="Enter" TYPE="submit" id="enter" VALUE="enter">
</form>
<?php
if ($enter) {           
        if ($password == $indTastetPassword) {
            print 'Korrekt password';
          }
        else {
            print 'Forkert password';
          }
}
?>
Avatar billede squashguy Nybegynder
23. november 2003 - 15:18 #1
if ($password == $_POST['indTastetPassword']) {
Avatar billede squashguy Nybegynder
23. november 2003 - 15:18 #2
btw dit script er som sådan sikkert nok..
Avatar billede roenving Novice
23. november 2003 - 15:20 #3
-- som standard submitter en et-felts-form med enter, så måske du skulle fjerne det skjulte felt !-)
Avatar billede basementjack Nybegynder
23. november 2003 - 15:22 #4
JEg fik at vide man skulle 5md det når det var sikkert.. men fik det ikke til at virke..
Men det if ($password == $_POST['indTastetPassword']) { virker kun hvis jeg taster det rigtige password ind... og skriver ikke 'Forkert password' hvis jeg taster noget forkert ind..... Kan det oz afhjælpes?...
Avatar billede basementjack Nybegynder
23. november 2003 - 15:23 #5
roenving -- Ja det ville jeg oz tro.. Men det ville den bare ikke... :) Så nu tvinger jeg den bare..
Avatar billede squashguy Nybegynder
23. november 2003 - 15:58 #6
<?php
  $password    = "Kodeord";
?>
Skriv Password her:<BR>
<form ACTION="<?=$_SERVER['PHP_SELF'] ?>" METHOD="POST">
<INPUT name="indTastetPassword" TYPE="password">
<INPUT TYPE="submit" VALUE="enter">
</form>
<?php
if(isset($_POST['indTastetPassword'])){         
    if($password == $_POST['indTastetPassword']) {
        print 'Korrekt password';
    }
    else{
        print 'Forkert password';
    }
}
?>
Avatar billede squashguy Nybegynder
23. november 2003 - 16:00 #7
hvis du vil bruge md5, skal du først lave en beregning på dit password, så du får md5 strengen. Lav et test-script:

echo md5($mit_password);

og smid resultatet af dette ind i $password

din if-sætning bliver så:

if($password == md5($_POST['indTastetPassword'])) {
Avatar billede basementjack Nybegynder
23. november 2003 - 16:00 #8
Sådan squashguy Takker.. Det virker fint.. :)
Avatar billede basementjack Nybegynder
23. november 2003 - 16:02 #9
Ja.. Men jeg forstår ikke at det skulle beskytte det bedre.. hvis man bruger et program til at downloade kildekoderne, så står det der stadig selvom man koder passwordet før man checker det...
Avatar billede squashguy Nybegynder
23. november 2003 - 16:04 #10
Det har kun indflydelse, hvis det er en server-administrator som kigger i din kildekode, eller hvis en hacker kigger forbi..

Det bruges ofte i forbindelse med brugerdatabaser. Hvis nogen skulle kigge i databasen, vil brugernes password ikke blive afsløret.
Avatar billede basementjack Nybegynder
23. november 2003 - 16:05 #11
OKi.. Ej det er for kompleks.. Jeg skal kun bruge et password til min private test-side... Så jeg overlever nok til jeg får lært det php-sjov.. :) Men tak for hjælpen..
Avatar billede jensgram Nybegynder
23. november 2003 - 17:18 #12
Man kan faktisk hævde, at squashguy's forslag gør det mere usikkert, da et md5-hash kan være det samme for to vidt forskellige strenge. Derfor kan man være heldig at et forkert password virker (det er dog MEGET usandsynligt)...
Avatar billede squashguy Nybegynder
23. november 2003 - 18:13 #13
Skal man lave et sikkert site, laver man også en konto-lockout-policy, hvormed bruteforcing er udelukket. Så er en md5 hash sikker nok. Mere sikkert end ikke at bruge det, hvis nogen kigger i databasen..

Det er faktisk at tage hensyn til ens brugere, at gøre det på denne måde. I tilfælde, hvor man skal ind og arbejde med databasen, vil alle passwords ikke fremgå.
Avatar billede jensgram Nybegynder
23. november 2003 - 18:44 #14
Jeps - det er jeg helt enig i, men man har før set folk der laver denne:

if (md5($passFraDb) == md5($passFraForm)) { ...

Den er ikke så skidesmart ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester