feat(security): 新增网站安全扩展模块并支持修改手机脱敏验证
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user