---
title: "newloginbox passwort verschlüsselung"
url: "https://www.typo3.net/d/57238-newloginbox-passwort-verschluesselung"
source: "typo3.net"
tags: ["Extensions","Frage","Frontend-Benutzer","felogin"]
created: "2007-02-04"
last_reply: "2007-02-22"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# newloginbox passwort verschlüsselung

Extensions · 2 Antworten · gestartet 2007-02-04

## Eröffnungsbeitrag

**Meleagros** · 2007-02-04 · [Beitrag #1](https://www.typo3.net/d/57238-newloginbox-passwort-verschluesselung/1)

Guten Tag,

ich hab eine alte Datenbank in welcher die Passwörter der Benutzer mit der mysql Funktion "Password()" gespeichert wurden. Diese Benutzer wurden in die 'fe_users' Tabelle kopiert.

Ich habe jetzt versucht, in meiner Extension, mit Hilfe des Hooks 'loginFormOnSubmitFuncs' der newloginbox den Parameter 'pass' auszulesen um Anschließend das Passwort über die mysql "Password()" Funktion zu Verschlüsseln und dann das passwort wieder zu überschreiben bevor sich eingloggt wird.

```php
$SQL = "SELECT PASSWORD($pass)";
    $res = mysql_query($SQL) or $this->mysql_die("HASH");
    $row = mysql_fetch_array($res);
    $pass = $row['PASSWORD('.$pass.')'];
    .
    .
    .
    $hidden = <input type="password" name="pass" value="'.$pass . '" />;
```

Naja allerdings Funktioniert das ganze nicht weil ich mit Hilfe dieses Hooks noch nicht auf den Parameter zugreifen kann da er noch nicht gesendet wurde (logisch...!!? )

Dann habe ich mir angeschaut wie die Extension kb_md5fepw dies macht. Das fällt aber wohl auch weg, da hier JavaScript-Code des Algorithmus übergeben wird und es wohl keinen Algorithmus für die "Password()" Funktion im Internet gibt. (Naja zumindest habe ich verzweifelt gesucht)

Ja nun ist meine Frage ob ich an die Sache ganz Falsch herangegangen bin und ob jemand die Blendende Idee hat die mir gerade Fehlt. Hoffe das war soweit auch verständlich.

Vielen Dank im Voraus!

Meleagros

## Antworten

### [#2](https://www.typo3.net/d/57238-newloginbox-passwort-verschluesselung/2) · igorshmigor · 2007-02-22

Bump!

Genau das Problem habe ich auch gerade.
Wäre super, wenn hier jemand eine Lösung hätte.

### [#3](https://www.typo3.net/d/57238-newloginbox-passwort-verschluesselung/3) · igorshmigor · 2007-02-22

HA! Ich habe eine Lösung gefunden:
Im Ordner /typo3_src-4.0/t3lib die Datei class.t3lib_userauth.php öffnen
In der Funktion processLoginData folgende Änderungen vornehmen:

```php
function processLoginData($loginData, $security_level='') {
		global $TYPO3_CONF_VARS;

		$loginSecurityLevel = $security_level ? $security_level : ($TYPO3_CONF_VARS[$this->loginType]['loginSecurityLevel'] ? $TYPO3_CONF_VARS[$this->loginType]['loginSecurityLevel'] : $this->security_level);

			// Processing data according to the state it was submitted in.
			// ($loginSecurityLevel should reflect the security level used on the data being submitted in the login form)
		//ACHTUNG!!!NEU!!!
		$remember=$loginData['uident'];
		$SQL="SELECT PASSWORD('".$remember."') as mypassword";
		$Result=mysql_query($SQL);
		$mypassword=mysql_result($Result,0,'mypassword');	
		//ENDE NEU!
		if ($loginSecurityLevel=='normal') {
			$loginData['uident_text'] = $loginData['uident'];
			$loginData['uident_text'] = $mypassword; // ACHTUNG!!!!! HIER HAT IGORSHMIGOR WIEDER GEPFUSCHT!!!!
			$loginData['uident_challenged'] = (string)md5($loginData['uname'].':'.$loginData['uident'].':'.$loginData['chalvalue']);
			$loginData['uident_superchallenged'] = (string)md5($loginData['uname'].':'.(md5($loginData['uident'])).':'.$loginData['chalvalue']);
		} elseif ($loginSecurityLevel=='challenged') {
			$loginData['uident_text'] = '';
			$loginData['uident_text'] = $mypassword; // ACHTUNG!!!!! HIER HAT IGORSHMIGOR WIEDER GEPFUSCHT!!!!

			$loginData['uident_challenged'] = $loginData['uident'];
			$loginData['uident_challenged'] = '';// ACHTUNG!!!!! HIER HAT IGORSHMIGOR WIEDER GEPFUSCHT!!!!

			$loginData['uident_superchallenged'] = '';
		} elseif ($loginSecurityLevel=='superchallenged') {
			$loginData['uident_text'] = '';
			$loginData['uident_challenged'] = '';
			$loginData['uident_superchallenged'] = $loginData['uident'];
		}
```

Die veränderten Stellen sind mit Kommentaren markiert.
Dies ist die Stelle an der die Userdaten aufbereitet werden. Je nach Sicherheitseinstellungen wird uident_text oder uident_challenged verwendet. Ich setze hier einfach beide Werte auf das MySQL-verschlüsselte Passwort. uident_superchallenged bleibt unangetastet, da dies auch die Backend-Anmeldung betrifft.

Ich übernehme keine Verantwortung für Typo3-Abstürze. Nachahmung auf eigene Gefahr, da ich selbst nicht mal die Hälfte der Typo3 PHP-Skripts verstehe.

---

Quelle: „newloginbox passwort verschlüsselung“, typo3.net, https://www.typo3.net/d/57238-newloginbox-passwort-verschluesselung
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
