密码保护文章示例

3/2/2025

密码保护文章示例

这是一个演示密码保护功能的示例文章。当你看到这个内容,说明你已经成功输入了密码。

密码保护功能说明

密码保护功能允许你:

  1. 创建不公开但可通过密码访问的内容
  2. 控制敏感信息的访问权限
  3. 分享特定内容给特定人群

实现原理

本功能通过以下技术实现:

  • 使用JWT令牌管理认证状态
  • 使用环境变量存储密码和配置
  • 在客户端使用localStorage保存认证状态
// 示例代码:验证密码
async function verifyPassword(slug, password) {
  const response = await fetch('/api/verify-password', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ slug, password })
  });
  
  const data = await response.json();
  return data.success;
}

使用方法

在Markdown文件的frontmatter中添加以下内容:

---
title: 文章标题
date: 2025-01-01
summary: 文章摘要
status: Invisible
---

然后在环境变量中设置密码:

DEFAULT_CONTENT_PASSWORD=your-default-password

或者设置特定文章的密码:

CONTENT_PASSWORDS={"example/invisible-post-example":"your-password"}

注意事项

  • 密码将存储在客户端24小时 (暂时没有实现)
  • 密码认证是基于JWT的安全机制
  • 默认密码适用于所有未单独设置密码的隐藏文章