Hi,
mittlerweile funktioniert mein Login sehr schön. Wieso man Passwörter im Klartext speichert ist mir ein Rätsel und um das zu beseitigen habe ich die Extension kb_md5fepw installiert.
Eine Registrierung über sr_feuser_register funktioniert wunderbar, das Passwort wird in md5 abgelegt wie es sein sollte. Login funktioniert auch. Ändert man allerdings über sr_feuser_register das Passwort nachträglich wird es auf einmal wieder Klartext abgespeichert. Ist das ein Bug oder hab ich was verkehrt gemacht?
Wenn ich die Passwörter im Backend anpasse werden sie übrigens auch korrekt als md5 abgelegt.
Hi,
ich habe mir nun einfach selbst ein Script geschrieben um das Passwort zu ändern.
Arbeit von 5 Minuten... Hätte ich früher drauf kommen sollen, die 2 Stunden googlen hätte ich mir sparen können.
ich seh das skript hier nirgends, schade... bitte auch veröffentlichen
georg
Okay stimmt. Hier das Script. Ist ja nichts besonderes soweit, aber wenns jemandem hilft freu ich mich natürlich.
Das Script habe ich einfach über die Extension page_php_content an gewünschter Stelle integriert. Wichtig ist hier den Seiteninhalt nur anzuzeigen wenn man auch als FE-User angemeldet ist. Sonst macht es wenig Sinn.
<?
class user_profil {
function displayChangePassword() {
if($_POST['profil_submit']) {
if(strlen($_POST['profil_pw'])>3) {
if($_POST['profil_pw']==$_POST['profil_pw2']) {
mysql(TYPO3_db, "UPDATE fe_users SET password='".md5($_POST['profil_pw'])."' WHERE uid='".$GLOBALS['TSFE']->fe_user->user['uid']."'");
$content.='Ihr Passwort wurde geändert.';
}
else
$content.='Die Wiederholung unterscheidet sich vom eingegebenen Passwort.';
}
else
$content.='Das eingegebene Passwort ist zu kurz. Bitte verwenden Sie mindestens 4 Zeichen.';
}
$content.='
<form method="post" action="index.php?id='.$_GET['id'].'">
<table width="100%" cellpadding="1" cellspacing="0">
<tr>
<td>Passwort:</td>
<td><input type="password" name="profil_pw"></td>
</tr>
<tr>
<td>Wiederholen:</td>
<td><input type="password" name="profil_pw2"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="profil_submit" value="ändern"></td>
</table>
</form>';
return $content;
}
}
?>
Das Problem besteht scheinbar weiterhin 🙁
Habe einen weiteren Workarround für die User Registration:
class.tx_srfeuserregister_pi1.php
function main($content, &$conf) {
global $TSFE;
$failure = false; // is set if data did not have the required fields set.
$adminFieldList = 'username,password,name,disable,usergroup,by_invitation';
$this->init($conf, 'fe_users', $adminFieldList);
$error_message = '';
$content = $this->control->doProcessing ($error_message);
$rc = $this->pi_wrapInBaseClass($content);
$this->quickAndDirtyWorkArroundForMD5();
return $rc;
}
// Workarround to enable password changing with MD5
function quickAndDirtyWorkArroundForMD5() {
if ($this->controlData->getCmdKey() === 'edit' && $_POST['FE']['fe_users']['password'] && $_POST['FE']['fe_users']['password_again']) {
if(strlen($_POST['FE']['fe_users']['password'])!=32 && ($_POST['FE']['fe_users']['password'] == $_POST['FE']['fe_users']['password_again'])) {
$GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'uid='.$GLOBALS["TSFE"]->fe_user->user["uid"], array('password' => md5($_POST['FE']['fe_users']['password'])));
}
}
}
Hallo zusammen
auch wenn der Thread etwas alt ist, ich hab da n Problem 😉
Da auf die anderen Posts von mir keinen ne Antwort weiss, vllt. kann mir hierbei einer weiterhelfen.
Habe das Script mit der, vielleicht etwas veralteten Extension php_page_content eingebunden, jedoch bleibt die Ausgabe leer 🙁
In meiner localconf.php ist auch $TYPO3_CONF_VARS["FE"]["noPHPscriptInclude"]=0
Hab ich jetzt irgendwo nen Denkfehler? Theoretisch müsste das doch alles laufen oder?