V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
EscYezi
V2EX  ›  奇思妙想

关于部署于云服务器上博客后台的登录密码

  •  
  •   EscYezi · 2019-01-09 01:12:08 +08:00 via iPhone · 3774 次点击
    这是一个创建于 2129 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在撸一个个人博客,后台管理想类似 WordPress 那种部署到服务器上用密码登录。
    关于这个密码我是这么打算的:
    登录后台,数据库中不存在有效密码时,无论输入什么密码都返回密码错误。
    正确的密码需要 ssh 到服务器后台,执行一个脚本生成有效期 30s 的密码,写入数据库,在该密码有效期内输入才能成功登录后台。后台登录时从数据库中查询。退出时清空密码。
    在不知道密码的情况下,似乎只有两种办法登录后台:
    1.在我执行该脚本后的 30s 内猜对密码
    2.拿到服务器登录权限
    看起来还挺安全的。
    V 友们感觉这个想法可行否?或者有没有什么更好的建议🤔
    第 1 条附言  ·  2019-01-09 12:06:28 +08:00
    感谢各位的意见和建议,我还是做一个两步验证吧🌚
    24 条回复    2019-01-14 11:15:02 +08:00
    alvin666
        1
    alvin666  
       2019-01-09 01:15:14 +08:00 via Android   ❤️ 1
    不嫌麻烦吗
    闲得肝疼...
    EscYezi
        2
    EscYezi  
    OP
       2019-01-09 01:18:18 +08:00 via iPhone
    @alvin666 为了安全啊🌚毕竟管理后台都放服务器上了,被人破了密码还不是想怎么改怎么改🌚
    icekingcy
        3
    icekingcy  
       2019-01-09 01:21:16 +08:00 via iPhone
    那就不要把后台放到服务器上,前后台分开,前台数据库账户只读权限,本地搭建后台远程数据库且每次远程连数据库给定个 IP 且密码尽量复杂 数据库改端口
    d3vil
        4
    d3vil  
       2019-01-09 01:37:20 +08:00 via iPhone
    搞个短信验证码登录不就得了
    ra1983
        5
    ra1983  
       2019-01-09 01:40:40 +08:00 via Android   ❤️ 1
    难道不是应该用 2-step verification 么
    GDC
        6
    GDC  
       2019-01-09 01:48:21 +08:00 via iPhone
    @EscYezi 都登上服务器了为啥不改数据库… 反正你的 30s 脚本也得操作数据库吧…
    LU35
        7
    LU35  
       2019-01-09 01:52:46 +08:00 via Android   ❤️ 2
    小偷并不是只从正门进你家。
    ladypxy
        8
    ladypxy  
       2019-01-09 05:18:15 +08:00 via iPhone   ❤️ 1
    想安全就开两步认证,而不是搞这么蛋疼的步骤
    saucerman
        9
    saucerman  
       2019-01-09 05:34:03 +08:00 via Android
    没必要,这种措施只能阻止登录后台,实际上设置一个比较复杂的密码就可以抵抗爆破了,搞这么复杂作用不大
    SunnyLyx
        10
    SunnyLyx  
       2019-01-09 06:51:16 +08:00 via Android
    目前我的策略是,从 cdn/nginx 中设置只允许代理的 IP 访问后台。
    把正门和侧门都封了(但是不知道能不能爬窗进来...)
    yingfengi
        11
    yingfengi  
       2019-01-09 08:13:15 +08:00 via Android
    我的密码我自己都不知道,随机生成的,浏览器记住密码。
    Showfom
        12
    Showfom  
       2019-01-09 08:24:56 +08:00
    你是藏了什么宝藏在你服务器上么= =
    5CanTell
        13
    5CanTell  
       2019-01-09 09:04:31 +08:00
    可以,但没必要
    jookr
        14
    jookr  
       2019-01-09 09:09:13 +08:00   ❤️ 1
    你的想法我懂
    如果你懂 php 可以用个自定义 user-agent 的浏览器插件自定义字符串(我用的叫魔变),然后在网站后台代码里判断如果没有这个字符串就报错。

    ```
    if (!stripos($_SERVER['HTTP_USER_AGENT'], '你的字符串')) {
    abort(404, '页面不存在');
    }
    ```
    stzz
        15
    stzz  
       2019-01-09 09:12:36 +08:00
    花里胡哨
    liuxey
        16
    liuxey  
       2019-01-09 09:16:10 +08:00
    思想很发散,让我想到了日本网友的各种无聊发明,在 web 安全认证方面已经有很好的方案而且安全等级明显是够的,如果 ssh 都被人拿了,神仙也救不了
    FreeEx
        17
    FreeEx  
       2019-01-09 09:18:45 +08:00 via iPhone
    你服务器上有金子?而且脚本小子攻击网站也不是这样玩的,除非你登陆没验证码。
    yzkcy
        18
    yzkcy  
       2019-01-09 10:18:13 +08:00
    可以,但是没必要。
    EscYezi
        19
    EscYezi  
    OP
       2019-01-09 11:33:47 +08:00 via iPhone
    @LU35 那侧门是?
    wwhc
        20
    wwhc  
       2019-01-10 04:27:02 +08:00
    单就密码而言,密码长度超过 20 个字节,再加上 Fail2ban,还是担心一下代码的漏洞吧
    iLtc
        21
    iLtc  
       2019-01-10 10:47:41 +08:00   ❤️ 1
    你这个操作让我想到了 Plesk 的一次性登陆链接。在服务器命令行 plesk login 会生成一个类似于 https://<your server IP>:8443/login?secret=1LmJ4VaAnV4K%2Bnslg%2B4Axk03x2t%2 的登陆链接,点击即可登陆。
    009694
        22
    009694  
       2019-01-14 02:49:26 +08:00 via iPhone
    后台页面用双向证书验证吧
    Eugene1024
        23
    Eugene1024  
       2019-01-14 10:28:25 +08:00
    大佬吃了饭没事干才会打小网站
    raphael008
        24
    raphael008  
       2019-01-14 11:15:02 +08:00
    目前的做法是起一个 kcp 服务,然后就是 localhost 了🤣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2408 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:03 · PVG 00:03 · LAX 08:03 · JFK 11:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.