md5-Hash interpretations Problem?

Ich finde das auch etwas schwachsinnig.
Und deine Argumentation von wegen ein Bruteforceangriff würde Jahre dauern:
Du hast auch noch den Faktor Mensch vergessen. Ich würde ja fast behaupten, dass 90% der Internetnutzer sich ein Passwort ausdenken, das man per Bruteforce in vielleicht einer Stunde ermitteln kann ;)
Auch wenn du denkst es wäre so sicher: Ein Passwort gehört in keine Session und in kein Cookie. Egal wie toll das gehasht ist.
 
Richtig wenn der User als Passwort: admin, passwort, password, root oder so nimmt (sehr einfach jetzt)

Das prüfen Passwortknacker doch zuerst ab, bevor sie wirklich bruteforce machen.

Außerdem finde ich deinen Code sehr unübersichtlich (meiner ist es wahrscheinlich für andere auch) ^^

Nun warum 2 PHP dateien verwenden, wenn du auch eine verwenden könntest und da nur immer prüfst ob der User Admin ist oder nicht, ginge alleine schon wenn du einen user rang speicherst oder so, 1 für normalen Benutzer, 2 fürn Moderator und 3 fürn Admin oder so, kann man ja beliebig erweitern nun kannste halt auf deinen Seiten darauf hin überprüfen und je nachdem andere Sachen ausführen.
 
Joar das stimmt schon mit der Bruteforce attacke, und das man passwörter eigentlich nicht per Session oder Cookies speichern sollte, aber wie soll ich dann sonst das passwort weiter geben?

Und das der Code unübersichtlich ist, mag nur hier so wirken weil ich nicht den kompletten Code hier wiederspiegel sondern nur diesen Teil wo ich einfach nicht begreifen kann das 2 Unterschiedliche md5-Hash nach der weiterleitung gleich sind?
Das mit einer Datei ist vermiedenworden, weil wir dies nicht so benötigen wie schon oft gesagt, wir(ich) leite dann nach dem der User laut Datenbank kein Admin ist, auf die intern.php weiter, wenn er aber Admin ist leite ich ihn auf die admin.php weiter, deswegen 2 Dateien.

Und ob die abfragen schwachsinn eurer meinung nach sind oder nicht, könnt ihr eigentlich nicht wirklich beuurteilen ohne zu wissen wie der Komplette code aussieht, bzw wie das ganze projekt aufgebaut ist, ich habe hier ja schließlich nur einen Teil von unserem Kompletten Code geschrieben.
Das was ich hier euch zur verfügung stelle dient nur allein dazu um mir vllt anhand eines Denkfehler oder so zu helfen verstehen soll, warum der md5-Hash nach dem generieren trotzdem gleich ist bei der abfrage auf der admin.php

Da das Passwort ohne da der md5-Hash
$_SESSION['admin'] = md5($login_id.$login_passwort.$all);
hier ohne md5-Hash von $login_passwort gespeichert wird,
die abfrage danach ist aber leider die $admin variable von admin.php
$admin = md5($_SESSION['login_id'].$_SESSION['login_passwort].$all);
und da ist das login_passwort md5 gehashed, weil die $_SESSION['login_passwort] = md5($login_passwort); ist, somit dürfte die Variable $admin und die Session $_SESSION['admin'] nicht identisch sein. Und da lediglich bezieht sich meine Hauptsächliche frage warum dies so ist das beide angeblich gleich wären?

Danke aber für eure bisherige Hilfestellung
 
Du hast uns aber immer noch nicht erklärt, wozu diese Überprüfung überhaupt dienen soll. Wieso vergleichst du gerade diese beiden Werte? Und welche Bedeutung hat die Identität dieser Werte deiner Meinung nach?


Ich wäre dir übrigens sehr dankbar, wenn du dir bei der Formulierung etwas mehr Mühe geben könntest, da deine Sätze mitunter nur schwer verständlich sind.
 
Du versteift dich zu sehr auf das eine ohne wirklich auf unsere Fragen einzugehen!

Eine Hilfestellung kann nur funktionieren wenn beide Seiten bereit sind auf die Fragen einzugehen.
Mit der Taktik ich wiederhole mich und gibt keine Infos Preis wirst du nicht weit kommen.
Sollen wir nun Inteligenz Test bei dir bestehen und erraten welche Information du uns vor enthaltest.

Am besten Postet du dein Komplettes Kontrollscript. Mit 2 Zeiler die dann auch noch Syntaktisch falsch geschrieben sind. Kann niemand was damit anfangen.

Ohne den Inhalt der Variablen zu kenen sind vergleich Abfragen auch nicht nachvollziehbar.

Geb einfach die Werte der Variablen am Bildschirm aus dann siehste warum welche wert nicht übereinstimmen.

.)
Wenn ich dich richtig verstanden haben willst du ein Password über ein Session weiter geben.
Für was brauchst du so ein Funktion den dazu müßtest du teoretisch auch die Session weitergeben an den anderen Server was eingentlich soweit ich weiß nicht möglich ist.

.)
Weiter möchtest du Session vor einen klau schützen.Der ansatz dazu geht zwar in die Richtung aber dann vergleicht du den zuvorgesetzten wert mit sich selbst was dann immer das gleiche Ergebniss ergibt. Mehr war leider aus deinen 2 Zeiler nicht erkennbar.
Aber um einen Session klau zu verhinden müssen die Ergebnisse immer unterschiedlich ausfallen je nach welches Ereigniss eingetretten ist.

.)
Wenn du den Code Syntax nicht versteht und den Script Teil nicht Postet wird auch keiner in der Lage sein deinen Fehler zu sehen und Ihn dir Auszubessern.

Mfg Splasch
 
Zuletzt bearbeitet:
Joar das stimmt schon mit der Bruteforce attacke, und das man passwörter eigentlich nicht per Session oder Cookies speichern sollte, aber wie soll ich dann sonst das passwort weiter geben?
Das ist es ja, es gibt überhaupt keinen Grund ein Passwort irgendwohin weiterzugeben. Das steht genau einmal in der Datenbank und sonst nirgends.
 
Übrigens können bei zwei verschiedenen Werten wenn du die mit md5 hashst der gleiche Wert rauskommen, is hier aber glaube ich eher unwahrscheinlich!

Es versuchen viele dir zu helfen, aber du blockst irgendwie total ab.
Und wie Loomes schon sagte, das Passwort sollte nicht durchgereicht werden.
Überprüfst du eigentlich ob der User noch der gleiche User ist, weil das sehe ich irgendwie nicht so.
Ich würde da eher die IP und Browser usw. überprüfen, weil das Passwort müsstest du ja jedesmal vom User abfragen.
 
In die Session gehört genau ein Wert um einen Benutzer zu identifizieren.
Welcher das ist, darüber kann man streiten.
Hier eine ganz simple Variante mit einem Timestamp:
PHP:
$hash = md5( time() );
$_SESSION['foo'] = $hash;
//...Userid auslesen:
$query 'SELECT userid FROM user WHERE hash = "' .$_SESSION['foo']. '"';
 
Nichts. Man braucht doch aber einen Wert der sich ändert oder nicht?

PS: Schreib doch bitte auch kurz das warum dazu, danke. :)
 
Zurück