## 管理员账号(用户名 + 口令) 原先只有口令,没有用户名。现在两者都有: - 用户名词入库 settings 的 admin.username(2~32 位,字母数字下划线点连字符) - 口令仍是 bcrypt 哈希存 admin.password_hash,明文不落任何文件 - 登录校验 fb_admin_verify_login():用户名或口令任一不对都返回同一句 「用户名或口令不正确」,且用户名错时也照常跑一次 password_verify,避免用耗时探测账号 - 向后兼容:老部署只设了口令没用户名时,仍可只填口令登录, 并在登录页提示补一个用户名 ## 安装向导精简 按用户要求「没数据就初始化,填完进主页」: - 必填只剩 4 项:网站名称、管理员用户名、口令、确认口令 - 站点描述 / 官方邮箱 / 站点根地址改为 hidden(可留空自动探测) - 密钥、令牌原本就自动生成 - 安装成功后展示网站名称与用户名,2 秒自动跳首页,也有按钮 - 按钮文案改为「完成安装,进入首页」 ## 修掉一个真实 bug 首页把软件说明当成站点描述,导致「软件有 note 时站点描述被顶掉」。 两者是不同的东西:站点描述是全局设置必须始终显示,软件说明另起一行补充。 老基线 D6「首页描述变为新描述」就是被这个 bug 弄失败的。 ## 另一个坑 admin.username 忘了加进 fb_setting_keys() 白名单,fb_set_setting() 会静默丢弃, 表现为「安装时填了用户名,装完却没有」。已补。 验证: - 全新安装流程 32/32(真空站:无 config.php、无 data/*.db) - 老基线 25/25、附件专项 22/22、安装向导 60/60 - PHP 8.5 全部入口 0 弃用
This commit is contained in:
@@ -83,10 +83,12 @@ fb_layout_head($sw ? ((string)$sw['name']) : $headTitle);
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1><?php echo e($sw ? (string)$sw['name'] : '全部问题'); ?></h1>
|
||||
<p class="muted"><?php
|
||||
$desc = $sw && !empty($sw['note']) ? (string)$sw['note'] : (string)fb_cfg('site_desc');
|
||||
echo e($desc);
|
||||
?></p>
|
||||
<?php
|
||||
$siteDesc = (string)fb_cfg('site_desc');
|
||||
$swNote = ($sw && !empty($sw['note'])) ? (string)$sw['note'] : '';
|
||||
?>
|
||||
<?php if ($siteDesc !== ''): ?><p class="muted"><?php echo e($siteDesc); ?></p><?php endif; ?>
|
||||
<?php if ($swNote !== ''): ?><p class="muted small" style="margin:2px 0 0"><?php echo e($swNote); ?></p><?php endif; ?>
|
||||
</div>
|
||||
<a class="btn primary" href="new.php<?php echo $sw ? '?sw=' . e(urlencode((string)$sw['slug'])) : ''; ?>">我要反馈</a>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user