不是每个静态网站一上传就适合公开给整个互联网。
客户预览可能还有临时文案。作品集里的某个案例可能只想给特定招聘方看。内部文档对团队有用,但不应该出现在搜索结果里。上线页也可能需要先让相关方确认,再绑定正式域名或开始推广。
这就是密码保护有用的地方。它不是完整的身份系统,而是在静态内容前面加一道共享密码门,让内容在被查看前多一层简单控制。

密码保护适合什么场景
静态网站经常会经过一个私密的中间阶段。网站已经构建完成,文件存在,链接也能打开,但访问对象仍然需要控制。
| 场景 | 密码门为什么有用 |
|---|---|
| 客户评审 | 相关方可以在公开上线前检查真实 URL。 |
| 内部文档 | 团队可以分享静态笔记、手册或项目页,而不是直接开放给所有人。 |
| 私密作品集 | 只把选定案例发给招聘方、客户或面试官,不必公开全部素材。 |
| 学生或团队项目 | 评审者能打开项目,同时团队还可以决定哪些内容保留公开。 |
| 活动上线前检查 | 在推广前检查文案、跟踪链接、素材和移动端布局。 |
| PDF 或资料包 | 用一个静态页面把文档、文件和参考资料放在同一个访问步骤之后。 |
这里的目标不是抵御有意攻击的人,而是避免作品在评审、修正和批准过程中被意外公开传播。
密码门、noindex 和完整鉴权的区别
这些工具解决的问题不同。混为一谈会带来错误预期。
| 工具 | 它能做什么 | 它不能做什么 |
|---|---|---|
| 密码保护 | 在网站被提供前,用共享密码阻止普通访问。 | 不创建用户账号、角色、审计日志或 SSO。 |
noindex | 请求搜索引擎不要把页面显示在搜索结果里。 | 不阻止知道 URL 的人打开页面。 |
robots.txt | 向爬虫公开说明某些路径的抓取规则。 | 文件本身是公开的,不应当作保护机制。 |
| 完整应用鉴权 | 管理用户、会话、权限和身份流程。 | 需要应用逻辑,而不只是静态托管。 |
| 网络访问控制 | 按身份提供方、设备、IP 或组织策略限制访问。 | 对多数客户预览来说过重。 |
Google 把 noindex 作为索引控制来说明。它适合让页面不出现在搜索结果里,但不是隐私边界。Cloudflare Access 和 Vercel Deployment Protection 则在另一端,提供更强的应用或部署访问控制。简单的密码门位于中间。
保护整个静态体验,而不只是首页
静态网站不只是 index.html。
如果只有首页被保护,但图片、脚本、PDF 或深层链接仍然公开,预览内容还是可能泄漏。实用的密码保护应该放在整个发布体验前面,包括那些让页面真正有意义的文件。
分享受保护链接前,建议检查这些路径:
| 路径类型 | 检查内容 |
|---|---|
| 首页 | 第一次访问会要求输入密码。 |
| 深层链接 | 项目页、文档页或活动子路径同样需要访问权限。 |
| 资源文件 | 图片、PDF、脚本和下载文件不会通过明显直链暴露。 |
| 表单 | 如果存在表单,授权后仍能正常工作。 |
| 错误页 | 404 或 fallback 页面不会暴露敏感文案或文件名。 |
这对作品集和客户项目尤其重要。如果未发布截图仍然能通过 /assets/client-redesign-final.png 打开,那么首页脱敏的意义就很有限。
选择合适的密码工作流
共享密码操作简单,但仍然需要纪律。
| 情况 | 实用做法 |
|---|---|
| 一次短评审 | 使用强共享密码,并在评审后更换。 |
| 多个客户团队 | 如果访问对象不应重叠,使用不同项目或不同评审链接。 |
| 链接被转发太广 | 更换密码,只把新密码发给目标评审者。 |
| 项目正式公开 | 最终批准并上线域名后关闭密码保护。 |
| 内容仍然敏感 | 公共页面保留脱敏版本,细节只分享给被批准的人。 |
不要给客户预览使用容易猜到的玩笑密码。密码应足够长,并通过符合项目敏感度的渠道分享。
密码保护不够用的地方
密码保护有用,是因为它轻量。它的限制也来自这种轻量。
如果你需要以下能力,应使用真正的应用鉴权模型:
- 按个人创建账号或邀请。
- 不同访问者有不同权限。
- 通过 Google Workspace、Microsoft Entra、Okta 等身份提供方做 SSO。
- 记录谁看过什么的审计日志。
- 法律、合同或合规层面的访问要求。
- 只撤销某一个人的访问,而不影响其他人。
- 敏感客户数据、支付数据、健康数据或受监管记录。
对于静态预览,共享密码经常是合适的控制力度。对于客户门户、内部系统或受监管流程,它就不够了。
受保护静态预览的常见错误
大多数问题都不是大事故,而是小的运营失误。
| 错误 | 更好的做法 |
|---|---|
| 保护启用前就发出链接 | 先打开密码门,再用隐私窗口测试。 |
| 忘记检查深层链接 | 直接打开项目页、文档页、资源文件和 PDF。 |
| 一个密码长期不变 | 在评审、上线或意外转发后更换密码。 |
把 noindex 当隐私保护 | noindex 用于搜索行为,不用于访问控制。 |
| 发布了机密细节 | 上传前脱敏名称、指标、截图和内部路径。 |
| 上线后忘记关闭密码门 | 决定最终站点是公开、保护,还是拆成公开和私密版本。 |
受保护的预览仍然需要像公开网站一样做内容检查。密码能降低意外暴露,但不能让粗心发布变得安全。
如何放进静态部署流程
密码保护最好作为部署流程的一部分,而不是最后临时补上。
一个实用流程是:
- 构建或导出静态网站。
- 上传文件夹、ZIP、HTML 输出、框架构建产物、作品集或带 PDF 的页面。
- 分享预览前启用密码保护。
- 把链接和密码发给评审者。
- 修正文案、文件、移动端布局和资源。
- 访问对象变化时更换密码。
- 最终发布时决定移除或保留保护。
这样评审就接近真实网站。评审者看到的是之后公开版本会使用的相同路由、资源和响应式行为。
DeployPages 如何处理这个场景
DeployPages 围绕静态发布构建,所以密码保护面向静态预览和私密分享,而不是后端鉴权系统。
你可以发布静态文件夹、ZIP、HTML 项目、作品集、文档导出、AI 生成网站或包含 PDF 资源的页面,并在当前工作区套餐包含该能力时,在项目控制里启用密码保护。访客需要先输入项目密码,才能查看已发布网站。同一个项目还可以使用 访问统计、自定义域名、即时回滚 和 CLI 部署。
流程很直接:上传网站,在评审期加上密码门,然后决定最终版本继续私密,还是迁移到公开域名。
分享前检查清单
发送受密码保护的静态网站前:
- 在隐私窗口打开链接,确认出现密码页面。
- 测试一个深层链接,不只测试首页。
- 尝试直接访问重要 PDF、图片、脚本和下载文件。
- 删除机密名称、内部指标、内部评论和草稿路径。
- 使用强共享密码,并保存在团队能更换的位置。
- 如果内容敏感,链接和密码分开分享。
- 决定何时移除、轮换或保留保护。
- 替换已评审版本前保留回滚路径。
密码保护不是为了让静态网站变复杂。它是为了让作品在被评估、修正和批准的私密阶段少一点风险。