51 lines
2.0 KiB
PHP
51 lines
2.0 KiB
PHP
<?php
|
|
namespace web\admin\rigger;
|
|
|
|
class chgpass {
|
|
public static function json_update() {
|
|
global $db;
|
|
$rsuser = verifyfast();
|
|
global $tokensalt;
|
|
$post = new \ciy\post();
|
|
if($rsuser['id'] == 10)
|
|
return errjson('演示账号不能操作');
|
|
$oldpass = $post->get('oldpass');
|
|
if (empty($oldpass))
|
|
return errjson('请输入原密码.');
|
|
$newpass = $post->get('newpass');
|
|
if (empty($newpass))
|
|
return errjson('请输入新密码.');
|
|
if (strlen($newpass) < 6)
|
|
return errjson('密码应至少6位');
|
|
// if (!preg_match('/[@#$%^&*()_+!]/', $newpass))
|
|
// return errjson('密码应包含特殊符号@#$%^&*()_+!等');
|
|
// if (!preg_match('/[a-z]/', $newpass))
|
|
// return errjson('密码应包含小写字母');
|
|
// if (!preg_match('/[A-Z]/', $newpass))
|
|
// return errjson('密码应包含大写字母');
|
|
// if (!preg_match('/[0-9]/', $newpass))
|
|
// return errjson('密码应包含数字');
|
|
$csql = new \ciy\sql('zc_admin');
|
|
$csql->where('id', $rsuser['id']);
|
|
$userrow = $db->getone($csql);
|
|
if (!is_array($userrow))
|
|
return errjson('用户不存在');
|
|
if ($userrow['password'] != md5($oldpass . $tokensalt))
|
|
return errjson('原密码错误.');
|
|
try {
|
|
$db->begin();
|
|
$updata = array();
|
|
$updata['password'] = md5($newpass . $tokensalt);
|
|
$csql = new \ciy\sql('zc_admin');
|
|
$csql->where('id', $rsuser['id']);
|
|
if ($db->update($csql, $updata) === false)
|
|
throw new \Exception('更新失败:' . $db->error);
|
|
savelog($db, $rsuser['id'], 'PASSWORD', '修改密码:' . $updata['password']);
|
|
$db->commit();
|
|
} catch (\Exception $ex) {
|
|
$db->rollback();
|
|
return errjson($ex->getMessage());
|
|
}
|
|
return succjson();
|
|
}
|
|
} |