feat(security): 新增网站安全扩展模块并支持修改手机脱敏验证

This commit is contained in:
2026-10-06 09:26:55 +08:00
parent 224f86ec08
commit af72364078
30 changed files with 1389 additions and 73 deletions
+35
View File
@@ -154,6 +154,41 @@ class ExtensionRuntime {
];
}
/** 获取网站安全设置(防刷限制、验证码发送限制与安全加固)。 */
public static function get_security_settings(): array {
$settings = Settings::get_all();
$number = static function (string $key, int $default, int $min, int $max) use ($settings): int {
return max($min, min($max, (int) ($settings[$key] ?? $default)));
};
$switch = static function (string $key, bool $default) use ($settings): bool {
return !isset($settings[$key]) ? $default : !empty($settings[$key]);
};
return [
'security_brush_post_10min' => $number('security_brush_post_10min', 20, 0, 200),
'security_brush_post_day' => $number('security_brush_post_day', 50, 0, 2000),
'security_brush_comment_10min' => $number('security_brush_comment_10min', 20, 0, 200),
'security_brush_comment_day' => $number('security_brush_comment_day', 100, 0, 2000),
'security_brush_upload_10min' => $number('security_brush_upload_10min', 50, 0, 200),
'security_brush_upload_day' => $number('security_brush_upload_day', 200, 0, 2000),
'security_brush_register_10min' => $number('security_brush_register_10min', 20, 0, 200),
'security_brush_register_day' => $number('security_brush_register_day', 100, 0, 2000),
'security_brush_order_10min' => $number('security_brush_order_10min', 30, 0, 200),
'security_brush_order_day' => $number('security_brush_order_day', 100, 0, 2000),
'security_captcha_send_cooldown' => $number('security_captcha_send_cooldown', 60, 0, 600),
'security_captcha_to_hour' => $number('security_captcha_to_hour', 15, 0, 500),
'security_captcha_to_day' => $number('security_captcha_to_day', 30, 0, 1000),
'security_captcha_ip_10min' => $number('security_captcha_ip_10min', 20, 0, 500),
'security_captcha_ip_day' => $number('security_captcha_ip_day', 50, 0, 2000),
'security_error_frequency_limit' => $switch('security_error_frequency_limit', true),
'security_disabled_pingback' => $switch('security_disabled_pingback', true),
'security_disabled_xmlrpc' => $switch('security_disabled_xmlrpc', true),
'security_user_disable_admin' => $switch('security_user_disable_admin', true),
'close_attachment_page' => $switch('close_attachment_page', true),
];
}
/** 获取短信接口设置。 */
public static function get_sms_settings(): array {
$settings = Settings::get_all();