跳转到内容
TubePress — 免费、自托管 & 持续维护
用户与管理

安全

双重验证、验证码、自定义后台 URL、年龄验证以及安全加固。

TubePress 默认已经过安全加固——每个表单均内置 CSRF 防护、敏感操作速率限制、现代密码哈希及会话重置。在此基础上,多项控制选项可进一步将管理后台锁定得更严格。

本页将介绍双因素认证、CAPTCHA、将管理登录移至隐秘 URL、年龄验证门、传输安全,并以加固清单收尾。其中大部分设置位于 设置 → 安全。

安全概述

良好的安全防护是分层的:任何单一控制措施都不够充分,但组合在一起可使您的站点成为难以攻克的目标。安全设置中可管理的控制项包括:

  • 双因素认证——管理员登录时的一次性验证码。
  • CAPTCHA——防止机器人滥用您的公开表单。
  • 自定义管理 URL——对扫描器隐藏登录入口。

在底层,框架已使用 Argon2id(在不支持 Argon2 的环境中使用 bcrypt)对密码进行哈希处理,对每个改变状态的请求验证 CSRF 令牌,在登录时重置会话,并对反复的登录、注册和密码重置尝试进行速率限制。

双因素认证

双因素认证(2FA)在管理员登录时增加基于时间的一次性密码(TOTP),使得仅凭被盗密码无法登录。它与 Google Authenticator、Authy、1Password 或任何兼容 TOTP 的应用程序配合使用。

要启用,请打开设置 → 安全,然后:

  1. 点击启用 2FA 以生成密钥。
  2. 用认证应用扫描二维码,或手动输入显示的密钥。
  3. 输入当前的 6 位验证码以验证并开启 2FA。

密钥与各自账户绑定,因此每位管理员需单独注册。后续停用 2FA 需要当前验证码,且该门控为失败关闭模式:一旦设置了验证码,即使您已通过公开登录表单认证,管理面板仍会在进入时要求验证码。

保留密钥副本。注册时将密钥(显示在二维码旁边)存入您的密码管理器。如果手机丢失,该密钥可让您将账户重新添加到新的认证应用中。

CAPTCHA

CAPTCHA 可阻止对您公开表单的自动化滥用。在设置 → 安全中选择提供商:

关闭
不使用 CAPTCHA。
Google reCAPTCHA
v2("我不是机器人"复选框)或 v3(不可见,基于分数)均可。
Cloudflare Turnstile
免费且注重隐私,无需解谜——大多数访客可无感通过。

粘贴提供商的站点密钥密钥,选择浅色或深色组件主题,然后选择要保护的表单——注册评论联系表单各自独立切换,设置提供商后默认启用。CAPTCHA 与评论中描述的评论反垃圾套件叠加使用。

管理员登录不受 CAPTCHA 保护。登录表单改由速率限制保护——反复失败的尝试会被限速。CAPTCHA 覆盖面向访客的注册、评论和联系表单。

自定义管理 URL

自动扫描器会猛烈攻击 /admin/login 等知名路径。您可以将登录表单移至一个隐秘的 slug,使这些探测无功而返。在设置 → 安全中,设置一个自定义登录 slug(3–50 个字符,小写字母、数字和连字符)。登录入口将位于 /your-secret-slug 而非 /admin/login;仪表板本身仍在 /admin,依然受到认证保护。

请收藏该地址,否则您将把自己锁在外面。启用自定义 slug 后,默认的 /admin/login 将停止工作。这是通过混淆实现安全——它不能替代强密码和 2FA。如果忘记了 slug,可直接在数据库中清除:DELETE FROM settings WHERE setting_key='admin_login_slug'

年龄验证门

对于成人网站,内置的年龄验证门插件会在您的内容前显示全屏年龄验证墙,支持多种验证模式、可选的 RTA meta 标签,以及指向您的条款、2257 和隐私页面的链接。可从 /admin/plugins 启用和配置。

由于它是审核和合规设置的一部分,完整的操作指南位于审核页面。

HTTPS & 头部

始终通过 HTTPS 提供您的站点——它可在传输过程中保护密码和会话 Cookie。来自 Let's Encrypt(Certbot)的免费证书即可满足需求。如果 TLS 在上游代理或负载均衡器处终止,请转发方案信息(例如 X-Forwarded-Proto 头部),以便应用程序知晓请求是安全的。

在生产环境中,还需关闭 PHP 的 display_errors(防止堆栈跟踪信息被访客看到)和 expose_php(防止版本信息被暴露)。健康检查会为您标记所有这三项。

加固清单

在上线前(以及上线后定期)检查此列表:

  1. 设置一个长且唯一的管理员密码。
  2. 为每个员工账户注册 2FA
  3. 将登录入口移至自定义管理 URL
  4. 在注册、评论和联系表单上启用 CAPTCHA
  5. 通过 HTTPS 提供所有内容。
  6. 关闭 display_errorsexpose_php
  7. 为员工分配最低所需权限——优先使用版主而非管理员
  8. 保持 PHP 和 TubePress 及时更新,并定期执行备份

后续步骤

还有疑问?

从您的控制面板提交工单,我们的团队将为您提供帮助。

体验在线演示 → 下载 TubePress →