Passwort Verschlüsselung bei Regi + Login !?

09/28/2011 05:15 Fratyr#31
Quote:
Originally Posted by finaldown97 View Post
Wo wir schon dabei sind, ich habe recherchiert, mysql_real_escape_string ist garnicht so unsicher wie du behauptest. Ich denke bevor du hier so ein "Müll" verbreitest solltest du erstmal prüfen ob du recht hast. Sollte ich mich irren und du hast Recht und sogar 'nen Beweis dafür, dann entschuldige ich mich.
Ich habe nie etwas von unsicher erzählt, nicht ein Wort hab ich darüber
verloren das mysql_real_escape_string unsicher ist. Ich habe lediglich von
100%iger Sicherheit geredet, die nur eine Whitelist bietet. Bevor du mir
Worte in den Mund legst, lies bitte meine Beiträge Aufmerksamer.

Auserdem besteht(oder bestand?) die Möglichkeit real_escape_string irgentwie mit
Chinesischen Zeichen zu umgehen, dafür lege ich meine Hand aber nicht ins
Feuer. Fakt ist, das die Funktion zwar einen
String maskiert, es aber trotzdem noch Möglichkeiten gibt, HTML Code
mit einzuschmuggeln, was JavaScript mit einschließt und somit auch
Zugriff auf die Cookies eines Clienten ermöglicht, schuld daran ist in
den meisten Fällen der Programmierer, der nicht weiß wie er diese
Funktion richtig einzusetzen hat.

Hier noch ein kleiner Artikel der dich interessieren könnte, Punkt 6
ist für unsere kleine Streitigkeit interessant.
[Only registered and activated users can see links. Click Here To Register...]

Gesteh dir doch bitte einfach ein das ich in diesem Bereich einfach mehr Fachwissen und Erfahrung besitze. Auserdem wäre ich gerne mal an den Quellen interessiert die besagen das mysql_real_escape_string die Perfekte
und Unknackbare Methode gegen SQL Injections ist.

Was mit bisher auch noch so unklar ist, warum du dir die Worte im Mund
verdrehst, verkraftest du es etwa nicht im Unrecht zu sein? Aber ich werde das jetzt nocheinmal für dich klar stellen,
da du es beim ersten und zweiten mal ja nicht verstanden hast:
(Du du du, wie liest du deinen Syntax, wenn du das noch nicht einmal
bei meinem Post hinbekommst??)

mysql_real_escape_string ist nicht unsicher( ! hier auf das Wort "nicht" aufpassen mein lieber), allerdings sollte es nicht deine einzige "Verteidigung"
gegen Angriffe von ausen sein. Am besten geeignet ist eine Whitelist, somit
ist mysql_real_escape_string überflüssig, da du deinen Query ja nur
ausführst falls vom User stammende Daten auch das richtige Format
besitzen (Sprich Int, String [...]).

Quote:
Originally Posted by 〤Che〤
oder spricht irgendwas gegen meine faulheit?
Ja, statische Methoden haben ein gezieltes Einsatzgebiet, und dienen nicht
dazu sich das instanzieren eines Objektes zu sparen.

Quote:
Originally Posted by 〤Che〤
Natürlich kann man mit Templates arbeiten, dann wirds übersichtlicher... Natürlich kann ich meinen HTML-Code außerhalb des PHP-Codes schreiben
Was du anscheinend auch noch nicht wusstest ist, das PHP einen eigenen
Template Syntax besitzt, wie ich aus deinem Code entnehmen konnte.

Quote:
Nebenbei: Anstatt hier nur andere zu kritisieren, könntest du ja auch mal zeigen, wie du es machen würdest....
Was genau meinst du den damit?
09/28/2011 15:35 finaldown97#32
Ich denke solltest du den vorherigen Post von mir ([Only registered and activated users can see links. Click Here To Register...]) gelesen haben dann drüfte dir klar sein das ich das selbe meine wie in deinem Link. Und du weißt das eine Whitelist auch wieder vom Admin bzw. Coder abhängt. Ich denke diese Disskusion können wir unendlich lange führen aber wir werden vermutlich immer zum Urteil kommen das es keien 100% sichere Methode gibt.

Und BTW: Ich muss schon sagen du hast Fachwissen, und sogar sehr gutes aber ich würde nicht sagen das ich unbedingt schlechter bin, denn das was du mit deinem Link und diesem Punkt 6 meintest habe ich schon bereits in einem Vorpost behauptet. Und zum Thema mysql_real_escape_string wäre perfekt, wo hab ich das behauptet? Ich sagte nur das es sehr sicher ist, wenn man es denn auch richtig anwendet.
09/28/2011 19:52 Fratyr#33
Quote:
Originally Posted by finaldown97 View Post
Ich denke solltest du den vorherigen Post von mir ([Only registered and activated users can see links. Click Here To Register...]) gelesen haben dann drüfte dir klar sein das ich das selbe meine wie in deinem Link. Und du weißt das eine Whitelist auch wieder vom Admin bzw. Coder abhängt. Ich denke diese Disskusion können wir unendlich lange führen aber wir werden vermutlich immer zum Urteil kommen das es keien 100% sichere Methode gibt.

Und BTW: Ich muss schon sagen du hast Fachwissen, und sogar sehr gutes aber ich würde nicht sagen das ich unbedingt schlechter bin, denn das was du mit deinem Link und diesem Punkt 6 meintest habe ich schon bereits in einem Vorpost behauptet. Und zum Thema mysql_real_escape_string wäre perfekt, wo hab ich das behauptet? Ich sagte nur das es sehr sicher ist, wenn man es denn auch richtig anwendet.
Gut, ich bin der Meinung wir beenden die Diskussion hier, wir scheinen
uns irgentwie fest gefahren zu haben, vielleicht reden wir auch einfach an
einander Vorbei. Zugegeben die Diskussion wer nun besser ist, ist unsinnig
und es war blöd von mir so eine Äuserung zu bringen.
09/28/2011 20:06 NoWe53#34
...und jetzt wendet Ihr euch wieder meinem Problem zu?
09/29/2011 03:19 Fratyr#35
Quote:
Originally Posted by Metin2Spieler97 View Post
Das ist der Unterschied. Das zweite Script schreibt einen Salt (PASSWORDUNIQUESTRING) hinter dein Passwort und hasht es dann. Dein selbstgemachtes Script macht das nicht.
Wie er schon sagte dein Salt ist ein Konstante, benutze in deinem Script dan
doch einfach

PHP Code:
$password md5(PASSWORDUNIQUESTRING $_POST['password']); 
Quote:
Originally Posted by Snake124
$password = md5($_POST['password'].$SALT);
Wichtig ist hier das du darauf achtest das dein SALT vor dem Password steht,
da das Passwort auch beim registrieren anscheinend mit dem Salt vor dem
eigentlichen Passwort steht. Sonst kommt beim Login ein neuer Hash raus
als beim registrieren.

Ich hab mir deine Scripte nicht angesehen, aber aus ich denke das dies
dein Problem ist, resultierend aus den hier geschriebenen Posts.
09/29/2011 18:26 NoWe53#36
Wenn ich diesen Code Eintrage:

PHP Code:
$password md5(PASSWORDUNIQUESTRING $_POST['password']); 
, dann bekomme ich das Passwort wieder irgendwie anders verschlüsselt, jetzt kriegt es nichtmal mehr Md5cracker.org raus, stimmt nicht mit dem bereits regisrtiertem Überein, und der Login ist auchnicht möglich :(

MfG nicileie
09/29/2011 19:50 NotEnoughForYou#37
Dann ist deine Registrations verschlüsselung nicht gleich deiner Loginverschlüsselung
09/29/2011 19:52 NoWe53#38
Quote:
Originally Posted by NotEnoughForYou View Post
Dann ist deine Registrations verschlüsselung nicht gleich deiner Loginverschlüsselung
Soweit bin ich auch schon, deswegen habe ich ja erst die Anfrage im Forum gestellt... Les dir bitte erst alles durch, bevor du Antwortest ^^

MfG nicileie
09/29/2011 20:40 NotEnoughForYou#39
Quote:
Originally Posted by nicileie View Post
Wenn ich diesen Code Eintrage:

PHP Code:
$password md5(PASSWORDUNIQUESTRING $_POST['password']); 
, dann bekomme ich das Passwort wieder irgendwie anders verschlüsselt, jetzt kriegt es nichtmal mehr Md5cracker.org raus, stimmt nicht mit dem bereits regisrtiertem Überein, und der Login ist auchnicht möglich :(

MfG nicileie
entfern das PASSWORDUNIQUESTRING dann sollte es klappen
09/30/2011 17:47 Che#40
mal als Pseudo Code:

Loginfunktion:
Code:
empfange übermittelte daten (passwort, id)
hashe das passwort
empfange daten aus dem sql server
suche nach id in der db
vergleiche gehashtes passwort mit wert des passworts aus der db
regi:
Code:
empfange übermittelte daten
hashe passwort
schreibe daten in die db
ganz verstehen tu ich dein problem immernoch nicht, es wird wohl sein, dass entweder der salt (PASSWORDUNIQUESTRING) sich ändert, oder, dass du beim loginvorgang den wert aus der db nochmals hasht... schau dir n paar posts weiter vorne meinen source an, probier ihn aus, probier ihn zu verstehen
09/30/2011 18:17 finaldown97#41
Ich hab nochmal alle Posts durchgeguckt. Und denke du hast die login.php nicht gepostet, das wär nice wenn du die mal hier posten würdest denn ich denk das hilft schon ganz gut weiter
09/30/2011 18:23 Fratyr#42
Quote:
Originally Posted by nicileie View Post
Wenn ich diesen Code Eintrage:

c, dann bekomme ich das Passwort wieder irgendwie anders verschlüsselt, jetzt kriegt es nichtmal mehr Md5cracker.org raus, stimmt nicht mit dem bereits regisrtiertem Überein, und der Login ist auchnicht möglich :(

MfG nicileie
So funktioniert das aber soweit ich sehe bei deinem Admin registrationsscript.
Kleiner Fehler meinerseits: das PASSWORDUNIQUESTRING gehört hinter
die POST Variable
PHP Code:
$password md5($_POST['password'] . PASSWORDUNIQUESTRING); 
Natürlich musst du diese Konstante auch in deiner login Datei verwenden
wenn du den Query abschickst.
09/30/2011 18:46 Rangada#43
Ehe ihr euch um die Position des Salts streitet, wäre es wohl sinniger, error_reporting aufzudrehen und die Syntaxfehler des Eingangsposts zu entfernen, sowie auf eine aktuelle Datenbankanbindung zu wechseln (mysqli in der OOP oder prozedualen Version oder PDO in der OOP-Version), denn mysql_* wird nicht mehr weiterentwickelt.

Mit prepared Statements entfällt dann auch das escapen.

Außerdem solltest du 'SELECT * FROM' vermeiden und die gewünschten Spalten manuell selektieren, gründe dafür findest du auf Google genug, und sollten eigentlich auch ins Auge stechen.
09/30/2011 20:59 Fratyr#44
Quote:
Originally Posted by Rangada View Post
Ehe ihr euch um die Position des Salts streitet, wäre es wohl sinniger, error_reporting aufzudrehen und die Syntaxfehler des Eingangsposts zu entfernen, sowie auf eine aktuelle Datenbankanbindung zu wechseln (mysqli in der OOP oder prozedualen Version oder PDO in der OOP-Version), denn mysql_* wird nicht mehr weiterentwickelt.

Mit prepared Statements entfällt dann auch das escapen.

Außerdem solltest du 'SELECT * FROM' vermeiden und die gewünschten Spalten manuell selektieren, gründe dafür findest du auf Google genug, und sollten eigentlich auch ins Auge stechen.
Vielleicht solltest du die Posts lesen, nicht nur überfliegen. Niemand hat sich
über die Position des Salt gestritten, es geht lediglich darum wo sich der
Salt in den anderen Scripten bereits befindet, und wo er es in seinem neuen
Script positionieren muss.