V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
buir
V2EX  ›  问与答

求救求救 typeecho 直接 GE 文件恢复的。搬家后后台登陆不上了 。账号密码正确的 谷歌搜出来的问题解决方案已经试烂了 还是不行。

  •  
  •   buir · 2016-01-24 18:46:11 +08:00 · 2373 次点击
    这是一个创建于 3252 天前的主题,其中的信息可能已经有所发展或是发生改变。
    求救各位大神们。兄弟我网站后台密码 明明输入正确的但是打不开。
    都搞了一个通宵了。 数据库的问题还是 X 件的问题 我已经崩溃。
    typeecho 直接 GE 文件恢复的。搬家。 www.vix2.com 先谢谢了。求灵魂指引

    求救求救 typeecho 直接 GE 文件恢复的。搬家后后台登陆不上了 。
    账号密码我是输入库正确的 谷歌搜出来的问题解决方案已经试烂了 还是不行。
    16 条回复    2016-01-25 05:05:09 +08:00
    wql
        1
    wql  
       2016-01-24 19:07:19 +08:00 via Android
    你直接 md5(密码)在数据库里替换原密码,登录
    virusdefender
        2
    virusdefender  
       2016-01-24 19:50:04 +08:00
    直接改数据库啊
    buir
        3
    buir  
    OP
       2016-01-24 19:51:41 +08:00
    不行的 各位 我都试完了的 还是密码错误的! 而且这个不是 MD5 是 MD5 二次加密的!
    songjiaxin2008
        4
    songjiaxin2008  
       2016-01-24 20:09:44 +08:00
    你找一个别的主机 安装 typecho 密码就设置你原来的 然后去数据库拷出来 覆盖原来的那个?
    pimin
        5
    pimin  
       2016-01-24 20:11:47 +08:00 via iPhone
    md5 加盐的而已
    搜索引擎有解
    Hello1995
        6
    Hello1995  
       2016-01-24 20:17:34 +08:00 via Android   ❤️ 1
    本地新建一个,设置好密码,然后数据库里找出密码,替换你原来的数据库里
    buir
        7
    buir  
    OP
       2016-01-24 20:25:07 +08:00
    @Hello1995 兄弟 这我都测过的 都无用 看来只有大手术了。
    我也算技术宅了我都搞不定也是醉了 居然还熬夜来弄。主打 Delphi 开发 确确实实很少弄 PHP
    感谢楼上各位的热情解答。
    估计是内部的数据库或者权限的问题或者一些数据表的版本之类的兼容问题吧 有笨办法解决的。
    再次感谢各位的 策略。 谢谢!
    Hello1995
        8
    Hello1995  
       2016-01-24 21:03:02 +08:00 via Android
    或者换一个思路,本地新建一个 typecho ,把旧数据库的文章和评论的表复制过来,其他表不变。办法总是有的,不要着急,慢慢来
    yeyeye
        9
    yeyeye  
       2016-01-24 21:40:11 +08:00   ❤️ 2
    楼上的方式其实都不对,为什么这样说呢,以往遇到这样的问题也是考虑自己去生成,或者去搜索引擎找别人生成的 hash 填入数据库

    其实正确的方法应该是(既然楼主也说自己是技术宅了),修改登录页面的代码,在生成 hash 后(对比阶段会运算出页面送来的密码,变成 hash 然后和数据库对比),输出到页面,然后在数据库填入这个 hash ,就好了(盐值应该默认参考数据库的,不用改)

    写过登陆逻辑的应该很清楚我在说什么,并且会在右上角点感谢。
    Hello1995
        10
    Hello1995  
       2016-01-24 23:02:30 +08:00 via Android
    @yeyeye 然后下一次升级到 typecho 1.1 再自己重写一次登录页面代码?
    Kilerd
        11
    Kilerd  
       2016-01-24 23:07:23 +08:00
    > 而且这个不是 MD5 是 MD5 二次加密的!

    你是如何知道是二次加密的,知道了也就证明你找到了加密的代码在哪里,也就等于知道了加密的格式。

    那么数据库在你手上,盐你可以查库查出来(如果用到了加盐加密的方法),那么直接生成一个就好了啊

    处理不了就证明你压根就不知道怎么处理。
    shuimugan
        12
    shuimugan  
       2016-01-25 00:01:14 +08:00   ❤️ 2
    <?php
    require 'var/PasswordHash.php';
    $hasher = new PasswordHash(8, true);
    $password = $hasher->HashPassword('你的新密码');
    echo $password;
    ?>

    站点根目录丢个 php,内容如上,然后访问,把得到的字符串拿去更新用户表对应数据的 password 字段(记得备份)
    然后登录时就可以使用新密码了
    1.0 版测试通过
    aprikyblue
        13
    aprikyblue  
       2016-01-25 00:05:09 +08:00
    搜索可解

    > password 改为
    e10adc3949ba59abbe56e057f20f883e
    密码就是“ 123456 ”了。

    知道有盐,但是试过直接这么改没有问题可以登陆。。。没再仔细看具体代码实现
    1.0 测试通过。。
    shuimugan
        14
    shuimugan  
       2016-01-25 00:29:48 +08:00
    @aprikyblue 还真是...看了下代码,登录部分密码验证有 3 种验证方法...
    如果数据库里 password 字段是$P$开头的,是一种
    $T$开头的是另一种
    都不是就走 md5 验证了
    yeyeye
        15
    yeyeye  
       2016-01-25 00:57:01 +08:00   ❤️ 1
    @Hello1995 我没用过这个程序,但是我说的方法,是输出页面运算好后的 hash ,不是说要你去改登陆逻辑里的密码加密算法。

    这不就是我们平常的 debug 么,一段代码返回的值不是预期的,你也猜不到它到底输出了什么,那就直接输出这个值不就好了?(按照常规去登陆,就会出现加密后的 hash 了)

    反正我一直都是这样干的,去搜索引擎还不一定能找到结果呢,我直接输出一下,然后替换到数据库不就解决了。
    buir
        16
    buir  
    OP
       2016-01-25 05:05:09 +08:00
    已经搞定了 感谢大家的帮忙!!!!!!!谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:02 · PVG 09:02 · LAX 17:02 · JFK 20:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.