众所周知Telegraph-Image 任何人只要知道网址就可以上传
[链接登录后可见]
就像这样。
为了防止被人恶意上传,一般有两种方法,一种是开启白名单模式,上传的图片需要审核通过后才能展示。这种方法需要人工进后台一个一个加白。图片多的时候比较麻烦。
其实还有另一种方法,就是给上传界面加上auth认证。必须输入认证才能上传。
这个方法从头开始写的话有点难,好在有其他大佬已经有相关的开源项目。
[链接登录后可见]
加上认证的效果图展示:
如何部署呢
很容易:
首先如同所示,在CF中添加如下变量
比如我这里设置的是
nodeloc123
编译部署
可以按自己要求改。
然后下载node.js,这个项目是ts写的,需要node.js编译。
运行
npm run build
就可完成编译。
如何部署呢?
有两种上传方法,一种是用git命令上传到github仓库下,CF会自动同步
需要配置git远程仓库和环境
git remote add origin git xxxxxxxxxxxx
git add .
git commit -m "auth"
git push -u origin main
还有一种方法就是利用CF官方的 wrangler CLI工具上传,这个就不再揽述了。
部署完成后打开就不在是上传页面了,必须要输入认证才能上传,可以一定程度的避免图床被别人上传一些xx的东西。
缺点:每次验证一次密码都会消耗一次CF worker的额度,如果有人爆破密码,一天爆破10W次。worker的额度就会被用完。
(但是相比被上传xx的东西,这个代价也是比较小的了)