Passwort-Erzeugung auch beim Ändern des MySQL-Passworts
Bernd Wurst

Bernd Wurst commited on 2013-03-13 11:19:19
Zeige 3 geänderte Dateien mit 27 Einfügungen und 6 Löschungen.

... ...
@@ -71,7 +71,7 @@ $form = '<h4>Benutzername</h4>
71 71
 <p>Aufgrund einer Einschränkung des MySQL-Servers dürfen Benutzernamen nur maximal 16 Zeichen lang sein.</p>
72 72
 <p><label for="description">Optionale Beschreibung dieses Benutzers:</label> <input type="text" name="description" id="description" /></p>
73 73
 <h4>Passwort</h4>
74
-<input onchange="document.getElementById(\'newpass_display\').parentNode.style.display=\'none\'" type="password" name="newpass" id="newpass" value="" /> <button type="button" onclick="setRandomPassword()">Passwort erzeugen</button>
74
+<p><input onchange="document.getElementById(\'newpass_display\').parentNode.style.display=\'none\'" type="password" name="newpass" id="newpass" value="" /> <button type="button" onclick="setRandomPassword()">Passwort erzeugen</button></p>
75 75
 <p style="display: none;">Automatisch erzeugtes Passwort: <input id="newpass_display" type="text" readonly="readonly" /></p>
76 76
 <h4>Berechtigungen</h4>';
77 77
 if (count($dbs) > 0) {
... ...
@@ -29,6 +29,27 @@ $servers = servers_for_databases();
29 29
 title("MySQL-Datenbanken");
30 30
 output('<p>Hier können Sie den Zugriff auf Ihre MySQL-Datenbanken verwalten. Die Einstellungen werden mit einer leichten Verzögerung (maximal 5 Minuten) in das System übertragen. Bitte beachten Sie, dass neue Zugänge also nicht umgehend funktionieren.</p>');
31 31
 
32
+html_header('
33
+<script type="text/javascript">
34
+
35
+  function makePasswd() {
36
+    var passwd = \'\';
37
+    var chars = \'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\';
38
+    for (i=0; i<15; i++) {
39
+      var c = Math.floor(Math.random()*chars.length + 1);
40
+      passwd += chars.charAt(c)
41
+    }
42
+    return passwd;
43
+  }
44
+
45
+  function setRandomPassword() 
46
+  {
47
+    pass = makePasswd();
48
+    document.getElementById(\'newpass\').value = pass;
49
+    document.getElementById(\'newpass_display\').value = pass;
50
+    document.getElementById(\'newpass_display\').parentNode.style.display = \'block\';
51
+  }
52
+</script>');
32 53
 
33 54
 if (count($dbs) > 0 || count($users) > 0) {
34 55
 
... ...
@@ -119,10 +140,10 @@ if (count($users) > 0) {
119 140
     $my_users[$u['username']] = $u['username'];
120 141
   }
121 142
   $form = '<div>
122
-  <label for="mysql_username">Benutzername:</label>&#160;'.html_select('mysql_username', $my_users).'
123
-  &#160;&#160;&#160;
124
-  <label for="password">Passwort:</label>&#160;<input type="password" name="mysql_password" id="password" />
125
-  &#160;&#160;<input type="submit" value="Setzen" />
143
+  <p><label for="mysql_username">Benutzername:</label>&#160;'.html_select('mysql_username', $my_users).'</p>
144
+  <p><label for="newpass">Passwort:</label>&#160;<input onchange="document.getElementById(\'newpass_display\').parentNode.style.display=\'none\'" type="password" name="newpass" id="newpass" value="" /> <button type="button" onclick="setRandomPassword()">Passwort erzeugen</button></p>
145
+<p style="display: none;">Automatisch erzeugtes Passwort: <input id="newpass_display" type="text" readonly="readonly" /></p>
146
+  <p><input type="submit" value="Setzen" /></p>
126 147
 </div>';
127 148
 
128 149
 
... ...
@@ -117,7 +117,7 @@ if (isset($_GET['action'])) {
117 117
       break;
118 118
     case 'change_pw':
119 119
       check_form_token('mysql_databases');
120
-      set_mysql_password($_POST['mysql_username'], $_POST['mysql_password']);
120
+      set_mysql_password($_POST['mysql_username'], $_POST['newpass']);
121 121
       redirect('overview');
122 122
       break;
123 123
     default:
124 124