跳到正文

注册与安全 ​

管理员可在后台配置注册条件、请求限制和人机验证。按实际需要开启,并用普通账号验证完整流程。

注册条件 ​

系统支持关闭公开注册、指定新用户分组、要求邮箱、限制邮箱域名。装了插件的实例还可以在注册时要求插件提供的账户字段。

邮箱域名设置用于限制允许注册的域名。启用邮件验证前,先在后台「安全 → 邮件服务」配置 SMTP、发件地址和站点公开 HTTPS 地址,并发送测试邮件。开启验证后,新账号必须提供邮箱;邮件同时包含确认链接和六位验证码,任一种方式成功都会使另一种失效。

邮箱验证开启并生效时,未验证账号可以登录界面、改正邮箱并重发邮件,但发起生成等需要消耗资源的操作会受到限制。链接有效期为 24 小时,打开后还需在页面点击确认;六位码有效期为 10 分钟,错误尝试每账号在 24 小时内累计最多五次,重发邮件不会重置次数。重发会更换两种凭证。

邮件里的六位码只证明邮箱归属;登录时的两步验证仍由身份验证器完成,两者用途不同。

管理员可在同一「安全」页面启用 UserCheck 临时邮箱检测。常用邮箱域名免检名单由后台维护;名单外的地址在注册和账户更换邮箱时调用付费 API。检测到临时邮箱会拒绝;接口故障时按后台选择继续或暂停注册。免检名单会跳过该域名的全部地址级检查,修改名单时需考虑这一点。第三方登录创建新账户也执行此检查,已有账户登录不消耗检测次数。

人机验证 ​

Turnstile 可分别用于注册、登录、API 密钥创建,也可在已登录用户的网页聊天速度超过阈值时按需弹出。聊天验证只暂停当前消息;通过后自动继续,并在管理员设置的有效期内不再重复验证。管理员账号不受聊天速度阈值限制。

浏览器需要加载验证组件,服务器需要访问验证服务。上线前检查站点域名、密钥配对和网络连通性。

接入自建的验证服务由插件提供:插件可以往验证码模式里添加自己的选项,并在注册和登录前加一道检查。

注册审核 ​

可选的模型审核会将注册信息交给指定模型,辅助判断是否接受注册。信息包括用户名、邮箱、插件提供的账户字段、昵称、客户端信息和同一地址的注册数量;不能将其统称为“不含个人信息”。

审核结果分为 allow、restrict、refuse。restrict 允许账号登录和使用网页聊天,但拒绝它创建或调用 API 密钥;限制可由管理员设置为若干小时后自动失效,也可设为必须手动解除。已有密钥同样受限。

审核支持 loose、normal、strict 三种模式。模型不可达或回答无法解析时,宽松模式放行,标准模式使用 restrict,严格模式拒绝。

启用前使用后台的测试入口检查常见注册信息。模型判断可能有误,应提供清楚的拒绝提示和联系途径。注册审核、管理员限权和聊天验证会写入独立的安全日志,而不是混在普通请求日志里。

频率限制 ​

全站注册速率、单 IP 注册数量和登录失败限制用于控制滥用。兑换码也有账号与地址相关的尝试限制。

启用代理信任时,限定实际代理来源。错误的地址识别会让多个用户共享一个 IP 计数,影响正常使用。

两步验证 ​

用户可以绑定身份验证器,登录时在密码之外再输入六位验证码;管理员可以要求管理员或全部用户绑定。完整的绑定步骤和管理设置见 两步验证。

密码、密钥与附件 ​

密码使用 Argon2id 哈希保存;服务商密钥使用实例密钥派生的密钥加密;用户 API Key 保存哈希,明文只在创建时提供。

上传附件有单文件和账户存储限制。未发送的附件会按孤立附件保留时间清理;已发送图片是否保留,由附件策略决定。

这些机制各自处理不同问题。备份仍需妥善保管,实例密钥也需要与数据库一起纳入恢复计划。

Obsidian Arc · 自托管 AI 工作空间