[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 login.php

Zen Cart 源代码 login.php




下载文件

文件名: login.php
文件类型: PHP文件
文件大小: 7.29 KiB
MD5: 9a0bf810d59fb1ef37aef4cca2ade0a3

login.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2014 Zen Cart Development Team
  5.  * @copyright Portions Copyright 2003 osCommerce
  6.  * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
  7.  * @version GIT: $Id: Author: Ian Wilson  Modified in v1.5.4 $
  8.  */
  9. define('ADMIN_SWITCH_SEND_LOGIN_FAILURE_EMAILS', 'Yes'); // Can be set to 'No' if you don't want warning/courtesy emails to be sent after several login failures have occurred
  10.  
  11. // PCI-DSS / PA-DSS requirements for lockouts and intervals:
  12. define('ADMIN_LOGIN_LOCKOUT_TIMER', (30 * 60));
  13. define('ADMIN_PASSWORD_EXPIRES_INTERVAL', strtotime('- 90 day'));
  14.  
  15. //////////
  16. require ('includes/application_top.php');
  17. $admin_name = $admin_pass = $message = "";
  18. $errors = array();
  19. $error = $expired = false;
  20. if (isset($_POST['action']) && $_POST['action'] != '')
  21. {
  22.   if ((! isset($_SESSION['securityToken']) || ! isset($_POST['securityToken'])) || ($_SESSION['securityToken'] !== $_POST['securityToken']))
  23.   {
  24.     $error = true;
  25.     $message = ERROR_SECURITY_ERROR;
  26.     zen_record_admin_activity(TEXT_ERROR_ATTEMPTED_ADMIN_LOGIN_WITHOUT_CSRF_TOKEN, 'warning');
  27.   }
  28.   if ($_POST['action'] == 'do' . $_SESSION['securityToken'])
  29.   {
  30.     $admin_name = zen_db_prepare_input($_POST['admin_name']);
  31.     $admin_pass = zen_db_prepare_input($_POST['admin_pass']);
  32.     if ($admin_name == '' && $admin_pass == '')
  33.     {
  34.       sleep(4);
  35.       $error = true;
  36.       $message = ERROR_WRONG_LOGIN;
  37.       zen_record_admin_activity(TEXT_ERROR_ATTEMPTED_ADMIN_LOGIN_WITHOUT_USERNAME, 'warning');
  38.     } else
  39.     {
  40.       list($error, $expired, $message, $redirect) = zen_validate_user_login($admin_name, $admin_pass);
  41.       if ($redirect != '') zen_redirect($redirect);
  42.     }
  43.   } elseif ($_POST['action'] == 'rs' . $_SESSION['securityToken'])
  44.   {
  45.     $expired = true;
  46.     $admin_name = zen_db_prepare_input($_POST['admin_name-' . $_SESSION['securityToken']]);
  47.     $adm_old_pwd = zen_db_prepare_input($_POST['oldpwd-' . $_SESSION['securityToken']]);
  48.     $adm_new_pwd = zen_db_prepare_input($_POST['newpwd-' . $_SESSION['securityToken']]);
  49.     $adm_conf_pwd = zen_db_prepare_input($_POST['confpwd-' . $_SESSION['securityToken']]);
  50.  
  51.     $errors = zen_validate_pwd_reset_request($admin_name, $adm_old_pwd, $adm_new_pwd, $adm_conf_pwd);
  52.     if (sizeof($errors) > 0)
  53.     {
  54.       $error = TRUE;
  55.       foreach ($errors as $text)
  56.       {
  57.         $message .= '<br />' . $text;
  58.       }
  59.     } else
  60.     {
  61.       $message = SUCCESS_PASSWORD_UPDATED;
  62.       list($error, $expired, $message, $redirect) = zen_validate_user_login($admin_name, $adm_new_pwd);
  63.       if ($redirect != '') zen_redirect($redirect);
  64.       zen_redirect(zen_href_link(FILENAME_DEFAULT, '', 'SSL'));
  65.     }
  66.     if ($error) sleep(3);
  67.   }
  68. }
  69. if ($expired && $message == '') $message = sprintf(ERROR_PASSWORD_EXPIRED . ' ' . ERROR_PASSWORD_RULES, ((int)ADMIN_PASSWORD_MIN_LENGTH < 7 ? 7 : (int)ADMIN_PASSWORD_MIN_LENGTH));
  70. ?>
  71. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  72. <html xmlns="http://www.w3.org/1999/xhtml" <?php echo HTML_PARAMS; ?>>
  73. <head>
  74. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  75. <title><?php echo TITLE; ?></title>
  76. <link href="includes/stylesheet.css" rel="stylesheet" type="text/css" />
  77. <meta name="robots" content="noindex, nofollow" />
  78. <script language="javascript" type="text/javascript"><!--
  79. function animate(f)
  80. {
  81.   var button = document.getElementById("btn_submit");
  82.   var img = document.getElementById("actionImg");
  83.   button.style.cursor="wait";
  84.   button.disabled = true;
  85.   button.className = 'hiddenField';
  86.   img.className = '';
  87.   return true;
  88. }
  89. //--></script>
  90. </head>
  91. <?php if (!isset($expired) || $expired == FALSE) { ?>
  92. <body id="login" onload="document.getElementById('admin_name').focus()">
  93. <form id="loginForm" name="loginForm" action="<?php echo zen_href_link(FILENAME_LOGIN, zen_get_all_get_params(), 'SSL'); ?>" method="post" onsubmit="animate(this)">
  94.   <fieldset>
  95.     <legend><?php echo HEADING_TITLE; ?></legend>
  96.     <label class="loginLabel" for="admin_name"><?php echo TEXT_ADMIN_NAME; ?></label>
  97.     <input style="float: left" type="text" id="admin_name" name="admin_name" value="<?php echo zen_output_string($admin_name); ?>" autocomplete="off" />
  98.     <br class="clearBoth" />
  99.     <label  class="loginLabel" for="admin_pass"><?php echo TEXT_ADMIN_PASS; ?></label>
  100.     <input style="float: left" type="password" id="admin_pass" name="admin_pass" value="" autocomplete="off" />
  101.     <br class="clearBoth" />
  102.     <p class="messageStackError"><?php echo $message; ?></p>
  103.     <input type="hidden" name="securityToken" value="<?php echo $_SESSION['securityToken']; ?>">
  104.     <input type="submit" name="submit" class="button" value="登录" id="btn_submit"/>
  105.     <input type="hidden" name="action" value="do<?php echo $_SESSION['securityToken']; ?>" id="action1"/>
  106.     <img id="actionImg" src = "images/loading.gif" class="hiddenField" />
  107.     <br /><a style="float: right;" href="<?php echo zen_href_link(FILENAME_PASSWORD_FORGOTTEN, '', 'SSL');?>"><?php echo TEXT_PASSWORD_FORGOTTEN; ?></a>
  108.   </fieldset>
  109. </form>
  110. <div id="loginExpiryPolicy"><?php echo LOGIN_EXPIRY_NOTICE; ?></div>
  111. </body>
  112. <?php } else { ?>
  113. <body id="login" onload="document.getElementById('old_pwd').focus()">
  114. <form id="loginForm" name="loginForm" action="<?php echo zen_href_link(FILENAME_LOGIN, '', 'SSL'); ?>" method="post" onsubmit="animate(this)">
  115.   <fieldset>
  116.     <legend><?php echo HEADING_TITLE_EXPIRED; ?></legend>
  117.     <p class="messageStackError"><?php echo $message; ?></p>
  118.     <label class="loginLabel" for="admin_name-<?php echo $_SESSION['securityToken']; ?>"><?php echo TEXT_ADMIN_NAME; ?></label>
  119.     <input style="float: left" type="text" id="admin_name" name="admin_name-<?php echo $_SESSION['securityToken']; ?>" value="<?php echo zen_output_string($admin_name); ?>" autocomplete="off"/>
  120.     <br class="clearBoth" />
  121.     <label class="loginLabel" for="oldpwd-<?php echo $_SESSION['securityToken']; ?>"><?php echo TEXT_ADMIN_OLD_PASSWORD; ?></label>
  122.     <input style="float: left" type="password" id="old_pwd" name="oldpwd-<?php echo $_SESSION['securityToken']; ?>" autocomplete="off" />
  123.     <br class="clearBoth" />
  124.     <label  class="loginLabel" for="newpwd-<?php echo $_SESSION['securityToken']; ?>"><?php echo TEXT_ADMIN_NEW_PASSWORD; ?></label>
  125.     <input style="float: left" type="password" id="admin_pass" name="newpwd-<?php echo $_SESSION['securityToken']; ?>" autocomplete="off" />
  126.     <br class="clearBoth" />
  127.     <label  class="loginLabel" for="confpwd"-<?php echo $_SESSION['securityToken']; ?>><?php echo TEXT_ADMIN_CONFIRM_PASSWORD; ?></label>
  128.     <input style="float: left" type="password" id="admin_pass2" name="confpwd-<?php echo $_SESSION['securityToken']; ?>" autocomplete="off" />
  129.     <br class="clearBoth" />
  130.     <input type="hidden" name="securityToken" value="<?php echo $_SESSION['securityToken']; ?>">
  131.     <input type="submit" name="submit" class="button" value="登录" id="btn_submit" />
  132.     <input type="hidden" name="action" value="rs<?php echo $_SESSION['securityToken']; ?>" id="action1"/>
  133.     <img id="actionImg" src = "images/loading.gif" class="hiddenField" />
  134.   </fieldset>
  135. </form>
  136. </body>
  137. <?php } ?>
  138. </html>
  139. <?php require('includes/application_bottom.php'); ?>
  140.