V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LunaSeki
V2EX  ›  Node.js

托管在 Vercel 的应用如何设计管理员认证呢?

  •  
  •   LunaSeki · 275 天前 · 1382 次点击
    这是一个创建于 275 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想基于 Nuxtjs 做个工具类的应用,能够让人直接部署到 Vercel 上使用,这个工具需要一个管理系统,让用户修改配置。

    • 初步想法是在部署的时候通过环境变量把管理员密码设置好,但是考虑到是公网部署,可能有被攻击的风险。
    • 第三方的验证也考虑过,但是基本上都要申请一个 AppCode ,对于开箱即用的应用来说有点麻烦了。

    有没有能够防止管理系统被暴力破解的方法呢?套个 CF 有用不?

    5 条回复    2024-03-17 09:50:17 +08:00
    google2020
        1
    google2020  
       275 天前
    vercel 有数据库服务啊,KV 和 Postgres ,可以做个引导安装,没设置账户密码的要先设置,然后存起来
    LunaSeki
        2
    LunaSeki  
    OP
       275 天前
    @google2020 嗯嗯,本来项目就用了 Prisma 结合 Vercel 的数据库的,因为只有一个管理员所以感觉存进数据库似乎不是很有必要(不太了解)?所以就不做用户系统,打算用环境变量配置一下密码就行了

    可能我没表达清楚,我不懂把权限验证页面暴露在公网时要做什么防护。。需要做什么处理防止被暴力破解吗
    GenericT
        3
    GenericT  
       274 天前
    只要是用密码的服务不都会被暴力破解吗?防止暴力破解就加个重试限制呗
    henix
        4
    henix  
       274 天前   ❤️ 1
    我理解应该有一个部署脚本(安装程序)吧,用户运行这个脚本来安装到 vercel 上,那么密码必须不固定,要么由用户自己设置,要么生成一个随机密码,返回给用户即可。
    同理,如果要进一步提升安全等级,可以考虑两步验证( 2FA / TOTP ),用户运行安装脚本安装成功后,返回一个二维码,用户可以用各类验证器扫码,登录时要求输入两步验证码。
    要防止被人暴力穷举密码,可以在登录页面加入文字验证码,或添加一定时间内 ip 的尝试次数限制。
    baobao1270
        5
    baobao1270  
       274 天前 via Android   ❤️ 1
    两个办法
    1. Cloudflare Zerotrust ,虽然是第三方但是不需要 AppCode
    2. 环境变量设置密码哈希,用 argon2
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   834 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:59 · PVG 04:59 · LAX 12:59 · JFK 15:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.