记一次密码认证程序设计——搭建 Vercel API
写于 2025 年 7 月。
不知为了什么,反正我就是想给本博客添加密码,然而博客是纯静态的,所以想着用一个自建 API 实现密码的验证。免费的API托管商有很多,就选用Vercel吧。
参考文献:https://blog.tangly1024.com/article/vercel-free-serverless-api
文中已经讲得很详细了,需要补充的是,密码验证的API本体TypeScript代码
import { VercelRequest, VercelResponse } from '@vercel/node';
module.exports = async (req: VercelRequest, res: VercelResponse) => {
const key1 = req.query.key1;
const key2 = req.query.key2;
const key3 = req.query.key3;
let data: { msg: string; };
if (key1 === "/*字符串1*/" && key2 === "/*字符串2*/" && key3 === "/*字符串3*/") {
data = {
msg: "ok"
};
}
else {
data = {
msg: "no"
};
}
res.status(200).json(data);
}
也是简单明了。
然后输入vercel --prod
部署,API部署到公网后,浏览器地址栏输入API地址
+?key1=字符串1&key2=字符串2&key3=字符串3
应该能得到JSON{"msg":"ok"}
的输出,其他情况则是{"msg":"no"}
,然后这个API就能用了,只需要写写简单的前端。
前端使用了js fetch
方法,正当我开开心心预览时,首先是请求被死循环溢出内存(还好电脑内存够),然后是——经典的CORS跨域问题,完了,用的Github pages,无解。
算了,只能用前端的方式实现密码验证了。最后实现了——博客隐私进一步加强😆(不过还是不能用第一人称作文,因为并非强加密)
大概的功能就是输入三次错误的密码拉进小黑屋一段时间,输入正确的密码获得一段时间的”豁免权“——嗯,这跟手机锁屏很类似。
- Total words: 700 -
Read other posts