密码保护文章示例
这是一个演示密码保护功能的示例文章。当你看到这个内容,说明你已经成功输入了密码。
密码保护功能说明
密码保护功能允许你:
- 创建不公开但可通过密码访问的内容
- 控制敏感信息的访问权限
- 分享特定内容给特定人群
实现原理
本功能通过以下技术实现:
- 使用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的安全机制
- 默认密码适用于所有未单独设置密码的隐藏文章