feat: 密码强度多级校验 — low/medium/high/very_high
- site_settings 新增 password.strength 配置项 - 四级:low(len>=8) / medium(两类) / high(三类+无连续) / very_high(四类+无连续) - 连续字符检查:重复/升序/降序/键盘水平/键盘垂直序列 - 注册和改密接口统一读取配置 - 前端 register.js 动态校验 + 管理后台安全设置区
This commit is contained in:
@ -9,6 +9,8 @@
|
||||
const TOGGLE_KEYS = [
|
||||
{ id: 'maintenance-enabled', key: 'maintenance.enabled' },
|
||||
{ id: 'registration-enabled', key: 'registration.enabled' },
|
||||
{ id: 'registration-show-guidelines', key: 'registration.show_guidelines' },
|
||||
{ id: 'registration-force-guidelines', key: 'registration.force_guidelines' },
|
||||
{ id: 'audit-enabled', key: 'audit.enabled' },
|
||||
{ id: 'audit-username', key: 'audit.username_audit' },
|
||||
{ id: 'audit-avatar', key: 'audit.avatar_audit' },
|
||||
@ -18,9 +20,15 @@
|
||||
// 已有专属 UI 的设置 key,不在"其他设置"中重复显示
|
||||
var DEDICATED_KEYS = {
|
||||
'site.framework': true, 'site.copyright_start': true,
|
||||
'site.name': true, 'site.tagline': true, 'site.contact_email': true,
|
||||
'site.operator_name': true, 'site.icp_number': true, 'site.icp_license': true,
|
||||
'site.police_number': true, 'site.wenwangwen': true, 'site.algorithm_filing': true,
|
||||
'site.privacy_url': true, 'site.terms_url': true,
|
||||
'site.guidelines': true,
|
||||
'maintenance.enabled': true,
|
||||
'registration.enabled': true,
|
||||
'registration.enabled': true, 'registration.show_guidelines': true,
|
||||
'registration.force_guidelines': true, 'registration.guidelines_timer': true,
|
||||
'password.strength': true,
|
||||
'audit.enabled': true, 'audit.username_audit': true, 'audit.avatar_audit': true, 'audit.bio_audit': true
|
||||
};
|
||||
|
||||
@ -73,8 +81,7 @@
|
||||
|
||||
// --- 文本输入保存 ---
|
||||
function bindSaveButtons() {
|
||||
var buttons = document.querySelectorAll('.btn-save');
|
||||
buttons.forEach(function(btn) {
|
||||
document.querySelectorAll('.btn-save, .btn-save-select').forEach(function(btn) {
|
||||
btn.addEventListener('click', function() {
|
||||
var key = btn.getAttribute('data-key');
|
||||
var inputId = btn.getAttribute('data-input');
|
||||
|
||||
Reference in New Issue
Block a user