Avatar billede malawimoto Nybegynder
25. oktober 2004 - 10:38 Der er 8 kommentarer

Spørgsmål til MD5() og auto videre til andet html efter login

Jeg har følgende script(nederst)


password='md5($password)'";

Jeg læste lidt MD5() så ud fra det jeg læst, vil jeg mene at dette burde virke, på min database ser brugerne således ud

Login:  password
bruger1  md5(hemmlig)

hvis MD5() virket korrekt, burde jeg så kunne læse i databasen hvad passwordet er, eller burde det være ulæseligt?
Hvordan får man en mere sikker login ved Md5() med den script?

Hvis brugeren så taster den rigtig password, hvordan sender man det videre til eks. loggedind.php?

Hvis brugeren nægtes adgang, hvordan sender man ham tilbage til Login.php

Hilsen

Moto




<?php
    session_start();
?>
<body>
<?php
    $db_user = '123';
    $db_pass = '123';
    $user_name = $_POST['user_name'];
    $password = $_POST['password'];

        $connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
    mysql_select_db('dictators', $connection) or die(mysql_error());

        $query = "SELECT * FROM users
            WHERE user_name='$user_name' AND password='md5($password)'";
           
    $result = mysql_query($query, $connection) or die('error making query');
    $affected_rows = mysql_num_rows($result);


    if($affected_rows == 1) {
        $_SESSION['user_name'] = $user_name;
        print 'Du er logged p&aring; med brugernavn ';
        PRINT $_SESSION['user_name'];

       
    }
    else {
        print 'Forkert password eller brugernavn tryk tilbage for at pr&oslash;ve igen.';
           
        die();
    }
?>


   
</body>
</html>
Avatar billede erikjacobsen Ekspert
25. oktober 2004 - 11:01 #1
Du mener nok
  $password=md5($password);
I sig selv giver md5 ikke sikkerhed - det kommer an på mange faktorer.
Avatar billede erikjacobsen Ekspert
25. oktober 2004 - 11:02 #2
...og så i din sql:
  $query = "SELECT * FROM users WHERE user_name='$user_name' AND password='$password'";

Eller

        $query = "SELECT * FROM users
            WHERE user_name='$user_name' AND password=md5('$password')";
Avatar billede morteeart Nybegynder
25. oktober 2004 - 11:17 #3
md5 er jo en envejs kryptering, dvs. du kan ikke afkode den igen,
og du kan heller ikke læse den i din db. fordi der står den jo også som md5

(jo, men kan bruteforce md5() men det vil tage et par år eller 10)


http://php.net/md5
Avatar billede malawimoto Nybegynder
25. oktober 2004 - 14:06 #4
D.v.s passwordet er krypteret selvom man kan læse det i databasen.

Hvad med spørgsmålen om at redirect til to seperate sider afhængig af resultetet af login?
Avatar billede haren Nybegynder
25. oktober 2004 - 14:28 #5
<i>Hvad med spørgsmålen om at redirect til to seperate sider afhængig af resultetet af login?</i>

Du kan bare bruge: header("location:fil.php");
(Før ALT andet i din fil, skal du skrive ob_start();)
Avatar billede morteeart Nybegynder
28. oktober 2004 - 02:36 #6
haren

ob_start() er et *hack* som er nemt at gøre brug af, men det er ikke godt for serveren.
Hvis alle ens headers er perfekte, så behøver du ikke ob_start()

Men læs. evt. mere i php manualen.
Avatar billede haren Nybegynder
28. oktober 2004 - 13:49 #7
Jeg er ikke 100% inde i php/mysql - men ved en del.
Jeg for fejl når jeg både bruger session_start; og header("location:123.php"); ..
kan dette gøres på andre måder? - ´på forhånd tak morteeart.

Jeg fik lidt hjælp en "internet-ven", som fortalte at det var løsningen!
Avatar billede malawimoto Nybegynder
18. maj 2006 - 13:05 #8
lukket
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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis