关于部署于云服务器上博客后台的登录密码 - V2EX
div class="content">
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
这是一个专门讨论 idea 的地方。

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

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
EscYezi

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

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

    ```
    if (!stripos($_SERVER['HTTP_USER_AGENT'], '你的字符串')) {
    abort(404, '页面不存在');
    }
    ```
    stzz
        15
    stzz  
       Jan 9, 2019
    花里胡哨
    auin
        16
    auin  
       Jan 9, 2019
    思想很发散,让我想到了日本网友的各种无聊发明,在 web 安全认证方面已经有很好的方案而且安全等级明显是够的,如果 ssh 都被人拿了,神仙也救不了
    dushixiang
        17
    dushixiang  
       Jan 9, 2019 via iPhone
    你服务器上有金子?而且脚本小子攻击网站也不是这样玩的,除非你登陆没验证码。
    lorryo
        18
    lorryo  
       Jan 9, 2019
    可以,但是没必要。
    EscYezi
        19
    EscYezi  
    OP
       Jan 9, 2019 via iPhone
    @LU35 那侧门是?
    wwhc
        20
    wwhc  
       Jan 10, 2019
    单就密码而言,密码长度超过 20 个字节,再加上 Fail2ban,还是担心一下代码的漏洞吧
    iLtc
        21
    iLtc  
       Jan 10, 2019   1
    你这个操作让我想到了 Plesk 的一次性登陆链接。在服务器命令行 plesk login 会生成一个类似于 https://<your server IP>:8443/login?secret=1LmJ4VaAnV4K%2Bnslg%2B4Axk03x2t%2 的登陆链接,点击即可登陆。
    009694
        22
    009694  
       Jan 14, 2019 via iPhone
    后台页面用双向证书验证吧
    Eugene1024
        23
    Eugene1024  
       Jan 14, 2019
    大佬吃了饭没事干才会打小网站
    raphael008
        24
    raphael008  
       Jan 14, 2019
    目前的做法是起一个 kcp 服务,然后就是 localhost 了
    About     Help     Advertise     Blog     API     FAQ     Solana     1569 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 72ms UTC 16:25 PVG 00:25 LAX 09:25 JFK 12:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86