| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- if (!isset($_GET['p'])) {
- become404Page();
- }
- function resetPassword() {
- list($username, $check_code) = explode('.', base64url_decode($_GET['p']));
- if (!isset($_POST['newPW']) || !validatePassword($_POST['newPW'])) {
- return '操作失败,无效密码';
- }
- if (!isset($username) || !validateUsername($username)) {
- return '不明错误';
- }
- if (!isset($check_code)) {
- return '不明错误';
- }
-
- $newPW = $_POST['newPW'];
- $user = queryUser($username);
- if ($user == null) {
- return '不明错误';
- }
- if ($check_code !== md5($user['username'] . '+' . $user['password'])) {
- return '不明错误';
- }
- $newPW = getPasswordToStore($newPW, $user['username']);
- DB::update("update user_info set password = '$newPW' where username = '{$user['username']}'");
- return 'ok';
- }
- if (isset($_POST['reset'])) {
- die(resetPassword());
- }
- ?>
- <?php
- $REQUIRE_LIB['dialog'] = '';
- $REQUIRE_LIB['md5'] = '';
- ?>
- <?php echoUOJPageHeader('更改密码') ?>
- <h2 class="page-header">更改密码</h2>
- <form id="form-reset" class="form-horizontal">
- <div id="div-password" class="form-group">
- <label for="input-password" class="col-sm-2 control-label">新密码</label>
- <div class="col-sm-3">
- <input type="password" class="form-control" id="input-password" name="password" placeholder="输入新密码" maxlength="20" />
- <input type="password" class="form-control top-buffer-sm" id="input-confirm_password" placeholder="再次输入新密码" maxlength="20" />
- <span class="help-block" id="help-password"></span>
- </div>
- </div>
- <div class="form-group">
- <div class="col-sm-offset-2 col-sm-3">
- <button type="submit" id="button-submit" class="btn btn-secondary">提交</button>
- </div>
- </div>
- </form>
- <script type="text/javascript">
- function validateResetPwPost() {
- var ok = true;
- ok &= getFormErrorAndShowHelp('password', validateSettingPassword);
- return ok;
- }
- $(document).ready(function() {
- $('#form-reset').submit(function(e) {
- if (!validateResetPwPost()) {
- return false;
- }
- $.post(<?= json_encode($_SERVER['REQUEST_URI']) ?>, {
- reset : '',
- newPW : md5($('#input-password').val(), "<?= getPasswordClientSalt() ?>")
- }, function(res) {
- if (res == 'ok') {
- BootstrapDialog.show({
- title : '提示',
- message : '密码更改成功',
- type : BootstrapDialog.TYPE_SUCCESS,
- buttons: [{
- label: '好的',
- action: function(dialog) {
- dialog.close();
- }
- }],
- onhidden : function(dialog) {
- window.location.href = '/login';
- }
- });
- } else {
- BootstrapDialog.show({
- title : '提示',
- message : res,
- type : BootstrapDialog.TYPE_DANGER,
- buttons: [{
- label: '好的',
- action: function(dialog) {
- dialog.close();
- }
- }]
- });
- }
- });
- return false;
- });
- });
- </script>
- <?php echoUOJPageFooter() ?>
|