KunWeb/web/admin/rigger/chgpass.php
2025-05-16 01:00:48 +08:00

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();
}
}