Zu den Aufzeichnungen der tutorials.de-Live-Workshops
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
15
ZUGRIFFE
15904
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    soa soa ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    336
    Hallo,

    eigentlich sind es 2 Sachen um die es mir geht:

    Zum Einen habe ich ein kleines Problem mit dem MD5 Schlüssel beim Login.

    Ich habe ein Login via MySql und schreibe die Passwörter mit MD5 in die DB.
    Das klappt soweit. Beim Einloggen habe ich jedoch Probleme mit dem Abgleich des Passwortes.

    PHP-Code:

     
    function check_user($name$passwort)
        {
        
    dbVerbinden();
        
    $sql="SELECT id
        FROM <table>
        WHERE benutzername='"
    .$name."' AND passwort='".$passwort."'
        LIMIT 1"
    ;
        
    $resultmysql_query($sql) or die(mysql_error());
        if ( 
    mysql_num_rows($result)==1)
        {
            
    $user=mysql_fetch_assoc($result);
            return 
    $user['id'];
        }
        else
            return 
    false;
         } 
    Das ist meine Login Funktion. Aufgerufen wird diese wie folgt:

    PHP-Code:
    $password md5($passwort);
       
           
    $UserId=check_user($benutzername$password);
           
           if (
    $UserId!=false)
           {
            
    login($UserId);

    ........ 
    Leider funktioniert das so nicht ganz und ich weiss nicht so recht warum ?

    So, nun habe ich eine Sperre via Session in allen Dateien:

    PHP-Code:
    $ip =  $_SERVER['REMOTE_ADDR'];

    if(!
    $_SESSION["benutzer"]  || $_SESSION['benutzer'] == "")
       {
       
    $fehler "Sie haben nicht die Berechtigung mit dem System zu arbeiten.<br>
                  Ihre IP - Adresse ( '.$ip.' ) wird aus Sicherheitsgründen im System gespeichet"

       echo 
    '<head><meta http-equiv="refresh" content="0;    URL=index.php?fehler='.$fehler.'"></head>'
       }
    else
    {
    .............. 
    Wie sicher ist denn so eine Sperre mit Hilfe der Session. Gibt es vielleicht sicherere Varianten ?


    Vielen Dank im voraus.

    VG
    SOA
     

  2. #2
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Nutzt Du moeglicherweise beim Eintrag in die Datenbank die MD5-Funktion von MySQL?

    Und uebrigens, MD5 ist immer noch keine Verschluesselung.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  3. #3
    Registriert seit
    Jan 2002
    Ort
    Hamburg
    Beiträge
    2.852
    Zitat Zitat von Dennis Wronka
    Und uebrigens, MD5 ist immer noch keine Verschluesselung.
    Ja, das wird ein sehr sehr großer Teil der Leute aber nie kapieren
     
    Wenn euch mein Beitrag gefällt, meldet euch als Referal bei Dropbox an: http://db.tt/4tKC8O5

  4. #4
    Registriert seit
    Feb 2005
    Ort
    NRW
    Beiträge
    460
    Für weitere Informationen :

    http://de.wikipedia.org/wiki/Md5
     

  5. #5
    soa soa ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    336
    Nein, ich nutze nicht den MD 5 Algorithmus von SQL , sondern die normale md5() Funktion von php . Ich kann mich trotzdem nicht anmelden.


    Also : $password = md5($passwort);

    Und $password via INSERT in die DB.

    MD5 ---> Entschuldigen Sie vielmals , wie soll man das Kind denn benennen ?kryptografische Hash Funktion.

    Wie schaut es mit der 2. Frage aus ? Ist grundsätzlich eine Sperre anhand von einer Session Abfrage ausreichend. Wie macht ihr sowas ?


    VG
     

  6. #6
    Registriert seit
    Sep 2004
    Ort
    Wien
    Beiträge
    100
    Ob Du MD5 am mySQL nutzt oder md5() in PHP bleibt sich prinzipiell gleich, weil sie die selben Werte produzieren. In was für ein Feld schreibst Du denn den Hash hinein? Nicht daß es Dir beim reinschreiben ein paar Stellen abschneidet.

    IP-Sperren bringen eigentlich ziemlich wenig. Wenn sich jemand halbwegs auskennt, stellt er sich einen Proxy im Browser ein und kommt wieder auf die Seite. Ob Du das jetzt mit Sessions machst oder mit irgendwas anderem ist da auch schon egal.
    lg
     

  7. #7
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Zitat Zitat von cmyk-vienna
    Ob Du MD5 am mySQL nutzt oder md5() in PHP bleibt sich prinzipiell gleich, weil sie die selben Werte produzieren.
    Ich selbst hab bisher nicht mit dem MD5 von MySQL gearbeitet, aber auf der Arbeit haben wir eine Funktion um Passwoerter mit Java mittels MD5 zu hashen und die gibt andere Werte zurueck als die Funktion von PHP. Um die gleichen Werte wie die Funktion von Java zu bekommen muss ich den optionalen Parameter der Funktion md5() (also raw_output) true setzen. Daher hatte ich einfach mal in diese Richtung spekuliert ob das vielleicht auch der Fall ist wenn man PHP-MD5-Hashes mit MySQL-MD5-Hashes vergleicht.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  8. #8
    Registriert seit
    Jan 2002
    Ort
    Hamburg
    Beiträge
    2.852
    @Dennis:

    Wie kann sowas denn sein? MD5 ist doch ein standartisierter Allgo, da sollte schon das gleiche rauskommen egal ob aus Java oder PHP oder sonst wo. Es sei denn der Hash ist salted, dann natürlich nicht...
     
    Wenn euch mein Beitrag gefällt, meldet euch als Referal bei Dropbox an: http://db.tt/4tKC8O5

  9. #9
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.770
    Blog-Einträge
    5
    Hallo,

    Zitat Zitat von Sinac
    Wie kann sowas denn sein? MD5 ist doch ein standartisierter Allgo, da sollte schon das gleiche rauskommen egal ob aus Java oder PHP oder sonst wo.
    Der Algorithmus kann durchaus identisch sein, aber die Darstellung des Ergebnisses beispielsweise nicht (Zeichenkette mit Hexwerten <-> Binärwert). Es kann auch vorkommen, dass beim Hashen von Zeichenketten mit verschiedenen Zeichensätzen gearbeitet wird und dadurch unterschiedliche Werte entstehen.

    Grüße,
    Matthias

    PS: Es heißt standardisiert. Das kapiert auch ein sehr sehr großer Teil der Leute nie
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  10. #10
    Registriert seit
    Sep 2004
    Ort
    Wien
    Beiträge
    100
    Meiner Erfahrung nach produzieren mySQL- und php-MD5 die gleichen Werte. Zumindest bin ich noch auf kein Gegenbeispiel gestoßen. Ob und inwiefern es bei Sonderzeichen zu Abweichungen kommen kann, hab ich noch nicht ausprobiert.

    Ich möchte jetzt den Thread nicht hijacken, aber ich hab bei der Gelegenheit auch noch ne kurze Zwischenfrage zum Thema:
    Ich hab eine JavaScript-Umsetzung von MD5 gefunden. Erhöht das eigentlich die Sicherheit bei Loginsystemen? Weil an und für sich würden ja dann Passwörter überhaupt nicht mehr im Klartext übertragen werden.
     

  11. #11
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Zitat Zitat von cmyk-vienna
    Ich hab eine JavaScript-Umsetzung von MD5 gefunden. Erhöht das eigentlich die Sicherheit bei Loginsystemen? Weil an und für sich würden ja dann Passwörter überhaupt nicht mehr im Klartext übertragen werden.
    Das setzt voraus, dass der User JavaScript aktiv hat. Und meiner Meinung nach ist das nicht gut, denn JavaScript sollte eigentlich nur fuer optionalen Kram genutzt werden und nicht fuer notwendigen.
    Es waere aber moeglich einen JavaScript-Check zu nutzen um festzustellen ob JS aktiv und wenn dies der Fall ist kann man das JS-MD5 nutzen, ansonsten eben auf die klassische Tour.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  12. #12
    Registriert seit
    Jan 2002
    Ort
    Hamburg
    Beiträge
    2.852
    Zitat Zitat von Matthias Reitinger
    PS: Es heißt standardisiert. Das kapiert auch ein sehr sehr großer Teil der Leute nie
    Hehe, hatte ich erst so, das sah aber voll merkwürdig aus
     
    Wenn euch mein Beitrag gefällt, meldet euch als Referal bei Dropbox an: http://db.tt/4tKC8O5

  13. #13
    NomadSoul NomadSoul ist offline Mitglied Platin
    Registriert seit
    Nov 2002
    Ort
    Mannheim
    Beiträge
    544
    Blog-Einträge
    5
    Zitat Zitat von cmyk-vienna
    Meiner Erfahrung nach produzieren mySQL- und php-MD5 die gleichen Werte. Zumindest bin ich noch auf kein Gegenbeispiel gestoßen. Ob und inwiefern es bei Sonderzeichen zu Abweichungen kommen kann, hab ich noch nicht ausprobiert.

    Ich möchte jetzt den Thread nicht hijacken, aber ich hab bei der Gelegenheit auch noch ne kurze Zwischenfrage zum Thema:
    Ich hab eine JavaScript-Umsetzung von MD5 gefunden. Erhöht das eigentlich die Sicherheit bei Loginsystemen? Weil an und für sich würden ja dann Passwörter überhaupt nicht mehr im Klartext übertragen werden.

    Nein, da du ja am Ende nur den MD5 String vergleichst. Und der kann ja so oder so gesnifft werden. Dann ist es quasi das selbe nur in grün. Ausserdem hast du zusätzlich das Problem mit deaktiviertem JS.
    Nomad
     
    Zitat Zitat von Benjamin Franklin
    Eine Gesellschaft die Freiheit zugunsten der Sicherheit opfert hat beides nicht verdient
    Kohlkopf
    -------------------------------------------------------------------------------------------
    .:Mitglied und offizieller Erdbeerenpflanzer des 1. offiziellen Sven Uwe Fan-Clubs:.

  14. #14
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Die sicherste Loesung ist SSL/TLS. Und selbst das bietet keine absolute Sicherheit, aber doch schon recht gute.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  15. #15
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Um noch mal auf das *hüstel* ursprüngliche Problem zu sprechen zu kommen (häh? klingt doof): Lass dir mal die beiden Werte ausgeben, also md5($passwort) und das Passwort aus der Datenbank. Wenn die identisch sind, muss das Problem anderswo liegen.
     

Ähnliche Themen

  1. Verschlüsselung
    Von melmager im Forum Linux & Unix
    Antworten: 4
    Letzter Beitrag: 09.02.08, 08:21
  2. RSA-Verschlüsselung
    Von Azi im Forum Security (Viren, Trojaner, Spam)
    Antworten: 5
    Letzter Beitrag: 30.12.07, 13:05
  3. MD5 Verschlüsselung
    Von chefkochx im Forum C/C++
    Antworten: 24
    Letzter Beitrag: 20.07.07, 16:27
  4. MD5 Verschlüsselung
    Von server im Forum PHP
    Antworten: 3
    Letzter Beitrag: 21.09.06, 09:01
  5. Verschlüsselung ?!!
    Von LoMo im Forum PHP
    Antworten: 17
    Letzter Beitrag: 13.04.05, 15:19