Bernd Wurst commited on 2013-03-02 15:57:40
Zeige 2 geänderte Dateien mit 16 Einfügungen und 2 Löschungen.
| ... | ... |
@@ -48,6 +48,17 @@ function get_uid_for_token($token) |
| 48 | 48 |
return $data['uid']; |
| 49 | 49 |
} |
| 50 | 50 |
|
| 51 |
+function get_username_for_uid($uid) |
|
| 52 |
+{
|
|
| 53 |
+ $uid = (int) $uid; |
|
| 54 |
+ $result = db_query("SELECT username FROM system.useraccounts WHERE uid={$uid}");
|
|
| 55 |
+ if (mysql_num_rows($result) != 1) {
|
|
| 56 |
+ system_failure("Unexpected number of users with this uid (!= 1)!");
|
|
| 57 |
+ } |
|
| 58 |
+ $item = mysql_fetch_assoc($result); |
|
| 59 |
+ return $item['username']; |
|
| 60 |
+} |
|
| 61 |
+ |
|
| 51 | 62 |
function validate_uid_token($uid, $token) |
| 52 | 63 |
{
|
| 53 | 64 |
expire_tokens(); |
| ... | ... |
@@ -37,6 +37,8 @@ if (isset($_REQUEST['token'])) |
| 37 | 37 |
input_error("Die beiden Passwort-Eingaben stimmen nicht überein.");
|
| 38 | 38 |
elseif ($_POST['password'] == '') |
| 39 | 39 |
input_error("Es kann kein leeres Passwort gesetzt werden");
|
| 40 |
+ elseif (preg_match('/["\'\\\\]/', $_POST['password']) === 1)
|
|
| 41 |
+ input_error("Das Passwort enthält problematische Zeichen. Bitte keine Anführungszeichen und kein Backslash benutzen.");
|
|
| 40 | 42 |
elseif (($result = strong_password($_POST['password'])) !== true) |
| 41 | 43 |
input_error("Das Passwort ist zu einfach (cracklib sagt: {$result})!");
|
| 42 | 44 |
else |
| ... | ... |
@@ -63,11 +65,12 @@ if (isset($_REQUEST['token'])) |
| 63 | 65 |
|
| 64 | 66 |
if ($show == 'password') |
| 65 | 67 |
{
|
| 68 |
+ $username = get_username_for_uid($uid); |
|
| 66 | 69 |
title("Neues Passwort setzen");
|
| 67 |
- output('<p>Bitte legen Sie jetzt Ihr neues Passwort fest.</p>
|
|
| 68 |
- <p>Aufgrund einer technischen Einschränkung sollten Sie momentan auf Anführungszeichen (" und \') sowie auf Backslashes (\) im Passwort verzichten.</p>'.
|
|
| 70 |
+ output('<p>Bitte legen Sie jetzt Ihr neues Passwort fest.</p>'.
|
|
| 69 | 71 |
html_form('initialize_useraccount', '', '', '<p style="display: none"><input type="hidden" name="uid" value="'.$uid.'" />
|
| 70 | 72 |
<input type="hidden" name="token" value="'.$token.'" /><input type="hidden" name="agb" value="1" /></p> |
| 73 |
+ <p><span class="login_label">Ihr Benutzername:</span> <strong>'.$username.'</strong></p> |
|
| 71 | 74 |
<p><span class="login_label">Neues Passwort:</span> <input type="password" name="password" size="30" /></p> |
| 72 | 75 |
<p><span class="login_label">Bestätigung:</span> <input type="password" name="password2" size="30" /></p> |
| 73 | 76 |
<p><span class="login_label"> </span> <input type="submit" value="Passwort setzen" /></p> |
| 74 | 77 |