[TYPO3-german] Übergabe des Challenge-Wertes (EXT:kb_md5fepw & loginbox_macmade)

Jens Hartlep news at hartlep-online.de
Mon Sep 4 14:22:18 CEST 2006


Moin,

ich bin nun schon seit ein paar Tagen auf der Suche nach einer Lösung
für das folgende Problem:

Ich habe auf meinem T3-Projekt im Template die small_login_box aus der
EXT loginbox_macmade eingebunden. Damit habe ich auf jeder Seite des
Projektes eine Login-/Logoutbox.
Nun möchte ich gerne die FE-User Passwörter mit MD5 verschlüsseln.
Hierzu habe ich mir die EXT kb_md5fepw installiert. Wenn ich dann
allerdings versuche, mich einzuloggen, bekomme ich den Fehler ungültiges
Passwort.

Ich bin auf der Suche nach einer Lösung für dieses Problem auf diese
Lösungsansätze gestoßen:

[HTML]
<script language="JavaScript" type="text/javascript"
src="typo3/md5.js"></script>
<script type="text/javascript">
function superchallenge_pass(form) {
 var pass = form.pass.value;
 if (pass) {
  var enc_pass = MD5(pass);
  var str = form.user.value+":"+enc_pass+":"+form.challenge.value;
  form.pass.value = MD5(str);
  return true;
 } else {
  return false;
 }
}
</script>

<form action="..." method="post" onSubmit="superchallenge_pass(this);
return true;">
...
<input type="hidden" name="challenge" value="...">
</form>
[/HTML]

Diese Zeilen habe ich aus dem FE-Quellcode mit der Newloginbox.

Hier nun ein Ausschnitt aus der class.tx_loginboxmacmade_pi2.php, welche
für die Loginbox zuständig ist:

[PHP]
$templateMarkers['###HIDDEN_FIELDS###'] = '<input name="logintype"
type="hidden" value="login"><input name="redirect_url" type="hidden"
value="' . $redirect . '"><input name="pid" type="hidden" value="' .
$this->conf['feUsersPID'] . '">';
[/PHP]

Die [B]JS[/B]-Anweisungen kann ich im entsprechenden Template für die
Loginbox unterbringen.
Die [B]OnSubmit[/B]-Anweisung kann ich mit

[PHP]
$templateMarkers['###SUPERCHALLENGE_PASS###']='superchallenge_pass(this);
return true;'
[/PHP]

in der php-Datei unterbringen.
Doch nun zur eigentlichen Frage:

Wo bekomme ich in der geänderten Zeile

[PHP]
$templateMarkers['###HIDDEN_FIELDS###'] = '<input name="logintype"
type="hidden" value="login"><input name="redirect_url" type="hidden"
value="' . $redirect . '"><input name="pid" type="hidden" value="' .
$this->conf['feUsersPID'] . '"><input type="hidden" name="challenge"
value="' .$challenge .'">';
[/PHP]

den Wert von "[I]$challenge[/I]" her?

Wenn ich das System nicht komplett falsch verstanden habe, müßte diese
Lösung doch funktionieren, oder?



More information about the TYPO3-german mailing list