
本文介绍在无后端支持的静态托管平台(如 github pages)上,使用纯前端 javascript 实现密码验证跳转的基本方法,并重点说明其安全局限性与适用场景。
本文介绍在无后端支持的静态托管平台(如 github pages)上,使用纯前端 javascript 实现密码验证跳转的基本方法,并重点说明其安全局限性与适用场景。
在 GitHub Pages 等纯静态托管环境中,无法运行服务器端代码(如 PHP、Node.js),因此真正的密码认证不可行。但你可以借助客户端 JavaScript 实现一个“轻量级访问门槛”:用户输入预设密码后,页面跳转至目标网站。这并非安全防护,而是一种简易的访问提示或临时遮罩层。
以下是一个简洁、可直接部署的 HTML 示例:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>请输入访问密码</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
display: flex; justify-content: center; align-items: center;
height: 100vh; margin: 0; background: #f5f5f7; }
.container { text-align: center; padding: 2rem; background: white;
border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
input { padding: 0.75rem; font-size: 1rem; border: 1px solid #ddd;
border-radius: 4px; margin: 0.5rem; }
button { padding: 0.75rem 1.5rem; background: #007bff; color: white;
border: none; border-radius: 4px; cursor: pointer; font-size: 1rem; }
button:hover { background: #0056b3; }
</style>
</head>
<body>
<div class="container">
<h2>请输入访问密码</h2>
<input type="password" id="pwdInput" placeholder="输入密码" autocomplete="off">
<br>
<button onclick="checkPassword()">进入网站</button>
<p id="msg" style="color: #dc3545; margin-top: 1rem; min-height: 1.2em;"></p>
</div>
<script>
// ⚠️ 注意:密码明文硬编码在此!任何人查看源码即可获取
const CORRECT_PASSWORD = "secret2024";
function checkPassword() {
const input = document.getElementById('pwdInput').value.trim();
const msgEl = document.getElementById('msg');
if (input === CORRECT_PASSWORD) {
// 跳转至目标网站(建议使用 _blank 防止关闭当前页)
window.location.href = "https://your-actual-site.com";
} else {
msgEl.textContent = "❌ 密码错误,请重试。";
document.getElementById('pwdInput').select();
}
}
// 支持回车提交
document.getElementById('pwdInput').addEventListener('keypress', (e) => {
if (e.key === 'Enter') checkPassword();
});
</script>
</body>
</html>✅ 部署说明:
将上述代码保存为 index.html,推送到 GitHub Pages 的默认分支(如 main 或 gh-pages),即可通过 https://username.github.io/repo-name/ 访问该密码页。
⚠️ 关键注意事项(务必理解):
OpenClaw 技能 — 给定一个 GitHub 仓库 URL,自动解析出 owner/repo 名称,发现其中的 YAML/properties 配置文件及其配对的中文字段说明;在 `workspace/{repo}/` 目录下按同步日期(格式为 `YYYY-MM-DD`)创建时间戳子目录;写入 `.openclaw-config-state.json` 状态文件。每次用户提问前,先比对远程仓库当前 ref(如 `main` 或 `master`)的最新提交 SHA 与本地状态文件中记录的 SHA:
-
密码完全不安全:
CORRECT_PASSWORD明文存在于 JS 中,任何用户右键 → “查看页面源代码” 即可看到;浏览器开发者工具中的 Sources 或 Network 标签页也能轻易提取。 -
无法阻止绕过:直接访问目标 URL(如
https://your-actual-site.com)完全不受限制;分享该链接即等同于分享通行凭证。 - 不适用于敏感内容:切勿用于保护隐私数据、管理后台、付费内容等真实需鉴权的场景。
- SEO 与爬虫无影响:搜索引擎仍可索引跳转后的目标页(若未设 robots.txt 或 noindex)。
? 进阶建议(如需真正安全):
立即学习“前端免费学习笔记(深入)”;
- 迁移至支持服务端逻辑的平台(如 Vercel + Next.js API Routes、Cloudflare Workers、Netlify Functions);
- 使用 OAuth、Auth0 或 Firebase Authentication 实现标准登录流程;
- 对于 GitHub Pages,可配合 GitHub Private Repository + Basic Auth(仅限 Pro/Team 用户),但仍有局限。
简言之:此方案仅适合做「友好提示」或「临时灰度入口」,而非安全屏障。设计之初就应明确——它保护的是用户体验流程,而非数据本身。

















