Hallo,
ich habe einen geschützten Bereich auf der Webseite. Der Login klappt auch. Was mich schon etwas geschockt hat, ist die Tatsache, dass die Passwörter im Klartext in der Datenbank gespeichert werden - unabhängig davon, ob ich das Anmeldeformular in Typo3 oder die "newloginbox" benutze.
Also habe ich die Extension "kb_md5fepw" installiert ... und schon die verschiedensten Lösungen ausprobiert, die ich hier im Forum gefunden habe. Was bei anderen zu funktionieren scheint, klappt bei mir einfach nicht.
Gibt es denn keine einfachere Möglichkeit, als in zig Skripten Änderungen vorzunehmen, die bei jedem Update dann wieder angepackt werden müssen (wenn es denn wenigstens funktionieren würde ...)?
Hallo Shaahira
Ich sitze gerade genau an dem selben Problem! Leider hat bei mir noch nichts geholfen, auch keine Skriptänderungen...
Ich habe irgendwo auf dem Typo3 bugtracker für Extensions gelesen, dass man die Sache einfach mit der Extension sv_login_redirect lösen kann. Nun finde ich die Seite nicht mehr und weiß auch nicht wie das mit der Extension funktionieren soll.
Kennt jemand diesen oder noch einen anderen Lösungsansatz?
LG ande
Also ich habe eine Lösung für das Problem, die auch Updatefähig sit...
Zu sehen unter http://verein.bk-lan.de
Punkt 1:
Ich habe eine Loginbox nach dem hiesigen Howto2 angelegt. Dann habe ich das Form Tag mit dem Java erweitert und das Java-File fest im Header eingebunden.
Punkt 2:
Ich habe ein kleines PHP File in den Fileadmin kopiert:
<?php
class user_md5fepw {
function md5Challenge($content, $conf)
{
$js = '
function superchallenge_pass(form) {
var pass = form.pass.value;
if (pass) {
form.pass.value = MD5(form.user.value + ":" + MD5(pass) + ":" + form.challenge.value);
return true;
} else
return false;
}';
$GLOBALS['TSFE']->JSCode .= $js;
$GLOBALS['TSFE']->additionalHeaderData['tx_kbmd5fepw_newloginbox'] = '<script language="JavaScript" type="text/javascript" src="typo3/md5.js"></script>';
$chal_val = md5(time().getmypid());
$res = $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_kbmd5fepw_challenge', array('challenge' => $chal_val, 'tstamp' => time()));
return '<input type="hidden" name="challenge" value="'.$chal_val.'">';
}
}
?>
Dieses PHP als userFunc im TypoScript eingebunden, bringt mir den challengecode in mein Loginform...
Punkt 3 !!! WICHTIG UND OFT VERGESSEN !!!
Die Passwörter werden bei installation der Extension nicht umgewandelt.
Das heißt ihr müsst entweder per hand neue Passwörter eingeben oder:
UPDATE fe_users SET password=md5(password)
TypoScript dazu:
includeLibs.md5fepw = fileadmin/template/md5fepw.php
plugin.tx_newloginbox_pi3.storagePid=23
####
# LOGIN
####
# action url
temp.url = TEXT
temp.url.typolink.parameter.field = uid
temp.url.typolink.returnLast = url
# LOGOUT
[usergroup = *]
temp.login = COA
temp.login.wrap = <div class="container_oben"><h3>Mitglieder Login</h3></div><div class="container_innen">|</div><div class="container_unten"> </div>
temp.login.4 = TEXT
temp.login.4 {
value = <!--###USERNAME###-->
wrap = Sie sind angemeldet als: |
}
# form begin
temp.login.10 = TEXT
temp.login.10.value = <div class="login"><form action="
temp.login.20 < temp.url
temp.login.30 = TEXT
temp.login.30.value (
" method="post">
<input class="submit" type="submit" value="Logout" />
<input type="hidden" name="logintype" value="logout" />
</form>
</div>
)
# LOGIN
[else]
temp.login = COA
temp.login.wrap = <div class="container_oben"><h3>Mitglieder Login</h3></div><div class="container_innen">|</div><div class="container_unten"> </div>
temp.login.10 = TEXT
temp.login.10.value = <div class="login"> <form action="
temp.login.20 < temp.url
temp.login.30 = TEXT
temp.login.30.value (
" method="post" onSubmit="superchallenge_pass(this); return true;" >
<input name="user" class="user" type="text" title="Benutzername" value="Username" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />
<input name="pass" class="pw" type="password" title="Passwort" value="****" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />
<input type="hidden" name="logintype" value="login" /> <input type="hidden" name="pid" value="23" />
)
temp.login.32 = USER
temp.login.32.userFunc = user_md5fepw->md5Challenge
temp.login.35 = TEXT
temp.login.35.value (
<input class="submit" name="image" type="submit" value="Login" title="Login" />
</form>
</div>
)
#temp.login.50 = TEXT
#temp.login.50.value = Registrierung
#temp.login.50.typolink.parameter = 65
temp.login.60 = TEXT
temp.login.60.wrap = <br />|
temp.login.60.value = Passwort vergessen?
temp.login.60.typolink.parameter = 75
temp.login.60.typolink.additionalParams = &no_cache=1&tx_newloginbox_pi1[forgot]=1
[global]
PS: Das PHP hab ich auch irgendwo aus dem Internet...
es geht doch viel einfacher: die kb_md5fepw erledigt den Job perfekt - es gibt keine Klartextpasswörter mehr. Wenn das nicht funktioniert, stimmt die Installation nicht. Ich habe dieses Duo schon häufig ohne irgendwelche Probleme eingesetzt.
Hallo Steffen,
ich hatte jetzt schon drei Installationen, bei denen wir md5 nachgerüstet haben und da hat kb_md5fepw bei der Installation die PWs nicht konvertiert.
Nur aus dem Grund habe ich darauf hingewiesen, dass zu überprüfen und gegebenenfalls schnell per SQl zu konvertieren.
Der Rest ist eigentlich eine Art "Howto Login-Design III - MD5-Passwörter"
mfG
Falls Version 2.5.7 im Einsatz ist, dann funktioniert die Verschlüsselung nicht mehr, weil durch Code-Umstellung ein Bug in die Extension eingebaut wurde.
http://bugs.typo3.org/view.php?id=5875
Den kann man aber schnell beheben, indem man die entsprechende Zeile selbst korrigiert.
Hallo nochmal
Ich bin nun ein wenig weiter gekommen. Das registrieren funktioniert wunderbar. Aber wenn ich jetzt die Registrations-Mail beantworte, werde ich zu einer Seite weitergeleitet auf der mein Loginname und Passwort bereits eingetragen sind. Wenn ich mich dann anmelden will funktionierts aber nicht.
Mir ist noch aufgefallen, wenn ich die md5 extension nicht installiert, aber in den feuser constants trotzdem md5 verschlüsselung angekreutzt wird, werden die Passwörter auch verschlüsselt. Leider kann ich mich dann nur einmal direkt nach der Registration anmelden, dann nie wieder. Wurde die md5 Verschlüsselung jetzt von Haus aus in die feuser extension eingebaut?
Egal wie es will nicht funktionieren auch nicht mit den Codeänderungen.
Installiert habe ich die extensions in folgender Reihenfolge.
Static Info Tables
fh_libary
new login box
sr_feuser_register
und schließlich die md5 ext.
LG Ande
habs auch nochmal in der Reihenfolge
sr_feuser
static info tables
new login box
fh libary
und md5
versuch, aber auch Fehlanzeige..
Hallo nochmal
Draussen sind 37 Grad und ich sitz immernoch an der Passwortverschlüsselung...
Habs Jetzt nochmal in der Reihenfolge
fh_libary
static_info_tables
sr_static_info
newloginbox
sr_feuser_register 2.5.7
kb_md5fepw 0.4
(Typo3 4.1.1)
installiert.
Ins Template hinzugefügt. Alle Caches geleert. Backend neu geladen.
Wie gesagt es funktioniert alles, nur wenn ich die kb_md5fepw installiere und in der sr_feuser_register das Häckchen md5 Verschlüsselung anklicke, kann ich mich nicht mehr einloggen. Passwörter werden aber überall verschlüsselt eingetragen.
@ digedag
Den Bug hatte ich auch schon behoben, leider kein Erfolg
@steffenk
Wenn ich dich richtig verstanden habe müsste es doch nach meiner Vorgehensweise funktionieren oder?
Den Dependecy Error bei der kb_md5fepw habe ich bei der Installation einfach mal ignoriert. Oder bin ich hier der Einzige mit der 4.1.1 Version, der seine Passwörter verschlüsseln will?
Weiß nicht was ich noch machen könnte...
LG Ande
Hallo,
Ich habe das Problem seit meine Seite von V4.0.4 auf T3 Version 4.1.2 upgegraded wurde. Im Bugtracker habe ich dazu folgenden Eintrag gefunden:
http://bugs.typo3.org/view.php?id=5677
Gruß
Swen
Ande schrieb
Aber wenn ich jetzt die Registrations-Mail beantworte, werde ich zu einer Seite weitergeleitet auf der mein Loginname und Passwort bereits eingetragen sind. Wenn ich mich dann anmelden will funktionierts aber nicht.
Genau das Problem ist mir auch gerade aufgefallen. Die Ursache ist, daß das vorausgefüllte Paßwort natürlich verschlüsselt ist und dann automatisch nochmal per Javascript verschlüsselt wird. Die Anmeldung klappt hier nur, wenn man das Paßwort selbst nochmal eingibt.
Den gleichen Effekt gibt es schon im Registrierungsformular. Wenn man hier aus irgendeinem Grund das Formular ein zweites Mal öffnet (z.B. weil die Mailadresse schon vergeben ist), dann wird ebenfalls das verschlüsseltes Passwort vorausgefüllt. Im Ergebnis landet es dann doppelt verschlüsselt in der Datenbank und man kann sich damit nicht mehr anmelden. #angry#
Eine saubere Lösung wäre es, das Vorausfüllen der Passwortfelder generell zu unterbinden. Weiß jemand, ob man dies per TypoScript machen kann?
Guten Tag,
Ich hatte dasselbe Problem und musste ganze 4 Stunden #angry# investieren, um herauszufinden, dass ich eine Passwort-max-länge eingegeben habe.
Kurz: maximale Passwortlänge auf 32 (oder höher) setzen -> Constant Editor (oder direkt in die Constants des Root-Templates einfügen):
plugin.tx_srfeuserregister_pi1.passwordAtMost = 32
MD5 Passwörter haben eine Zeichenlänge von 32...
Ich dachte mir, bevor ich die Passwörter als MD5-gehashte speichern wollte, die Benutzer sollten zwischen 6 und 12 lange Passwörter eingeben können...
Grüsse,
Tom
Hallo,
vielen dank für die vielen Beiträge. Ich hab trotz aller Anleitungen und Tipps es nicht geschafft.
Mittlerweile sind wir auf einen anderen Webserver umgezogen mit php5 und MySQL5. Da klappt alles nach Anleitung sofort. Keine Ahnung, an welcher Komponente nun das Problem lag.
Ich muss dazu sagen, dass ich beim alten Webserver auch Probleme mit dem Passwort für das Install-Tool hatte: Sobald ich es geändert hatte, bin ich nicht mehr reingekommen, auch wenn ich es auf joh316 zurückgesetzt hatte. Zu diesem Problem gibt es hier auch einige Beiträge, aber keine Lösungsansätze.
Leider kann ich jetzt keine Hilfestellung geben, weil auf dem neuen Webserver alle möglichen Versionen von irgendwas neu sind und es nun einfach funktioniert :-(
Ich hoffe, dass den meisten die Tipps von allen fleißigen Schreibern hier weiterhelfen und markiere diesen Thread nun als "gelöst".
Liebe Grüße, Shaahira
hmmmm, schon seltsam diese extension.
nachdem ich diese gestern zum laufen gebracht hatte - md5-ext als letztes installieren - freute ich mich riesig.
Heute morgen klappte der Login allerdings wieder nicht. Gehashed wird bei Eingabe also habe ich gekuckt was in der DB steht -> Klartext! ARgh.
Habe die Extension wieder de- und installiert aber immer noch klartext!
Dann habe ich mittels phpmyadmin die funktion md5 auf die passwort-spalte ausgeführt und die klartext passwörter md5ed!! Siehe da der Login klappt!
Mein Fazit: Wenn der Login nicht hinhaut immer kucken was in der DB steht.
Mann oder Frau kann sich auch behelfen in dem man über irgendeine md5 generator seite sich einen String generieren lässt, diesen in die DB (password) einträgt und anschließend den Login testen.
Gruß
Info
InforMedic schrieb...
Dann habe ich mittels phpmyadmin die funktion md5 auf die passwort-spalte ausgeführt und die klartext passwörter md5ed!! Siehe da der Login klappt!...
Hallo Info,
kann man das? Wie macht man sowas?
Ich möchte nachträglich alle Passwörter der feuser ver-md5-en.
Wo finde ich diese Funktion?
Lies den dritten Beitrag dieses Threads. Da steht schon, wie das geht.
Centi schrieb
InforMedic schrieb...
Dann habe ich mittels phpmyadmin die funktion md5 auf die passwort-spalte ausgeführt und die klartext passwörter md5ed!! Siehe da der Login klappt!...
Hallo Info,
kann man das? Wie macht man sowas?
Ich möchte nachträglich alle Passwörter der feuser ver-md5-en.
Wo finde ich diese Funktion?
Mach aus folgendem Statement ein Update-statement and there you go:
SELECT md5(`password`)
FROM `fe_users`
WHERE `uid` >0
LIMIT 0 , 30
gruß
Info
Was mir außerdem aufgefallen ist. LDAP-Auth mit eu_ldap funktioniert nicht, sobald md5-Paßwörter (ext:kb_md5fepw) aktiviert sind.
Kennt da jemand eine Lösung?
SCHNEIKA schrieb
Was mir außerdem aufgefallen ist. LDAP-Auth mit eu_ldap funktioniert nicht, sobald md5-Paßwörter (ext:kb_md5fepw) aktiviert sind.
Kennt da jemand eine Lösung?
Ich habe das gleiche Problem. Hat jmd. eine Lösung? Geht die LDAP-Anbindung nur wenn man keine MD5-Verschlüsselung in LDAP einstellt? Ist ja nicht unbedingt das sicherste dann.
LG
Manni
Hallo, ich habe auch ein Problem mit dem einloggen,
ich habe einmal alles wie im 3ten Beitrag geschrieben übernommen, das einloggen geht mit md5 auch perfekt, mein Problem ist noch sobald ich auf eine andere Seite die auch PW-Geschützt ist springe bin ich sofort wieder ausgeloggt.
Kann mir jemand sagen woran das liegt??