Firefox nutzt Passwort in 2 unterschiedlichen Passwort-Feldern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Firefox nutzt Passwort in 2 unterschiedlichen Passwort-Feldern

    Hallo,

    mir ist in den letzten Tagen etwas merkwürdiges aufgefallen. Und zwar speichert Firefox das Passwort beim Login von meinem Skript ab. Der Name des Passwort Feldes ist "user_password". Ich habe hier mal das ganze Formular:

    Quellcode

    1. <form method="post" name="login" action="login.php">
    2. <table width="300" border="0">
    3. <tr>
    4. <td width="150" align="left"><span class="boldfont_white">Benutzername:</span></td>
    5. <td width="150" align="left"><input type="text" name="user_name" size="20" /></td>
    6. </tr>
    7. <tr>
    8. <td align="left"><span class="boldfont_white">Passwort:</span></td>
    9. <td align="left"><input type="password" name="user_password" size="20" /></td>
    10. </tr>
    11. <tr>
    12. <td>&nbsp;</td>
    13. <td align="left"><input type="submit" name="login_submit" value="Anmelden" /></td>
    14. </tr>
    15. </table>
    16. </form>
    Alles anzeigen


    Die Sache ist jetzt aber, das dieses Passwort auch unter dem Formular im Passwort Feld steht was unter Einstelung ist.
    Dieses Feld hat allerdings ein komplett anderen Namen oo.

    Quellcode

    1. <form method="post" action="admin.php?section=settings" name="change_user_password">
    2. <table border="0" width="100%" cellpadding="2" cellspacing="0">
    3. <tr>
    4. <td width="50%">Neues Passwort:</td>
    5. <td width="50%"><input type="password" name="new_user_password" size="20" /></td>
    6. </tr>
    7. <tr>
    8. <td width="50%">Wiederholung:</td>
    9. <td width="50%"><input type="password" name="new_user_password_repeat" size="20" /></td>
    10. </tr>
    11. <tr>
    12. <td width="50%"></td>
    13. <td width="50%"><input type="submit" name="change_user_password_submit" value="&Auml;ndern" size="20" /></td>
    14. </tr>
    15. </table>
    16. </form>
    Alles anzeigen


    Wie kann es dazu kommen das bei "new_user_password" das selbe Passwort automatisch drin steht was ich beim Login eingebe? Die Felder haben gar nichts miteinander zu tun.

    Jetzt gerade ist mir eingefallen das vielleicht in der PHP Datei für die Einstellung etwas ja das Passwort laden kann. Allerdings finde ich da nichts oo. (Wobei im HTML Code ist auch kein value definiert, also kann das daran ja gar nicht liegen hmm.)

    Quellcode

    1. <?php
    2. /**
    3. * company - AquinasX
    4. * website - www.aquinasx.de
    5. * copyright - (c) 2007-2008
    6. * file path/name - ./main.php
    7. */
    8. if(!(defined('INCLUDE_TRUE'))) {
    9. exit;
    10. }
    11. $change_user_data_message = '';
    12. $change_user_data = false;
    13. $change_system_data_message = '';
    14. $change_system_data = false;
    15. if(isset($_POST['change_user_name_submit'])) {
    16. if(empty($_POST['new_user_name'])) {
    17. $change_user_data_message = $_LANG['SETTINGS_EMPTY_NEW_USER_NAME_FIELD'];
    18. $change_user_data = true;
    19. } elseif(empty($_POST['new_user_name_repeat'])) {
    20. $change_user_data_message = $_LANG['SETTINGS_EMPTY_NEW_USER_NAME_REPEAT_FIELD'];
    21. $change_user_data = true;
    22. } else {
    23. $new_user_name = $_POST['new_user_name'];
    24. $new_user_name_repeat = $_POST['new_user_name_repeat'];
    25. if($new_user_name == $new_user_name_repeat) {
    26. $sql = "UPDATE ".TABLE_PREFIX."users SET user_name = '$new_user_name' WHERE user_name = '".$_SESSION['AX_PM_LOGGED_IN_USER']."'";
    27. mysql_query($sql) OR die(mysql_error());
    28. $change_user_data_message = $_LANG['SETTINGS_USER_NAME_SUCCESSFUL_CHANGED'];
    29. $change_user_data = true;
    30. } else {
    31. $change_user_data_message = $_LANG['SETTINGS_USER_NAME_INCORRECT'];
    32. $change_user_data = true;
    33. }
    34. }
    35. }
    36. if(isset($_POST['change_user_password_submit'])) {
    37. if(empty($_POST['new_user_password'])) {
    38. $change_user_data_message = $_LANG['SETTINGS_EMPTY_NEW_USER_PASSWORD_FIELD'];
    39. $change_user_data = true;
    40. } elseif(empty($_POST['new_user_password_repeat'])) {
    41. $change_user_data_message = $_LANG['SETTINGS_EMPTY_NEW_USER_PASSWORD_REPEAT_FIELD'];
    42. $change_user_data = true;
    43. } else {
    44. $new_user_password = sha1(md5($_POST['new_user_password']));
    45. $new_user_password_repeat = sha1(md5($_POST['new_user_password_repeat']));
    46. if($new_user_password == $new_user_password_repeat) {
    47. $sql = "UPDATE ".TABLE_PREFIX."users SET user_password = '$new_user_password' WHERE user_name = '".$_SESSION['AX_PM_LOGGED_IN_USER']."'";
    48. mysql_query($sql) OR die(mysql_error());
    49. $change_user_data_message = $_LANG['SETTINGS_USER_PASSWORD_SUCCESSFUL_CHANGED'];
    50. $change_user_data = true;
    51. } else {
    52. $change_user_data_message = $_LANG['SETTINGS_USER_PASSWORD_INCORRECT'];
    53. $change_user_data = true;
    54. }
    55. }
    56. }
    57. if(isset($_POST['change_system_data_submit'])) {
    58. $notice_limit = $_POST['notice_limit'];
    59. if(is_numeric($notice_limit)) {
    60. $sql = "UPDATE ".TABLE_PREFIX."settings SET notice_limit = '$notice_limit'";
    61. mysql_query($sql) OR die(mysql_error());
    62. $change_system_data_message = $_LANG['SETTINGS_SYSTEM_SETTINGS_SUCCESSFUL_CHANGED'];
    63. $change_system_data = true;
    64. } else {
    65. $change_system_data_message = $_LANG['SETTINGS_NOTICE_LIMIT_NOT_NUMERIC'];
    66. $change_system_data = true;
    67. }
    68. }
    69. $template = new Template;
    70. $template->set_filenames(array("SETTINGS" => "./templates/settings.tpl"));
    71. if($change_user_data = true) {
    72. $template->assign_block_vars('change_user_data', array(
    73. 'MESSAGE' => $change_user_data_message
    74. ));
    75. }
    76. if($change_system_data = true) {
    77. $template->assign_block_vars('change_system_data', array(
    78. 'MESSAGE' => $change_system_data_message
    79. ));
    80. }
    81. $sql = "SELECT notice_limit FROM ".TABLE_PREFIX."settings LIMIT 1";
    82. $result = mysql_query($sql) OR die(mysql_error());
    83. $row = mysql_fetch_array($result);
    84. $template->assign_var('NOTICE_LIMIT', $row['notice_limit']);
    85. $template->parseLanguage();
    86. $template->pparse("SETTINGS");
    87. ?>
    Alles anzeigen


    Weis da einer weiter?

    Das hindert mich zum Glück nicht am weiter coden aber interessiert mich schon ^^.

    Vielen Dank

    Und einen guten Rutsch in's neue Jahr! :)
  • Erklärungen, bis hin zu Lösungen über das autocomplete Attribut über obsfuse Workarounds findest du hier: developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion

    Obsfuser Workaround:

    Quellcode

    1. <form name="form1" id="form1" method="post" autocomplete="off"
    2. action="http://www.example.com/form.cgi">
    3. <span>N</span>ame: <input type="text" name="text1" /><br/>
    4. <span>A</span>ddress: <input type="text" name="text2" /><br/>
    5. </form>


    Ansonsten einfach normal weiterprogrammieren und den Benutzer entscheiden lassen ob er die Funktion an- oder ausschaltet ;)