话说管理员密码忘了,怎么破??
刚建了一个站点,
注册了一个账号,
但是玩了一会,
密码忘了,
怎么破??
0
See Also
Nearby
- 上一篇 › 问题啊,三个
- 下一篇 › 在bae上安装了,但是注册界面无法注册是为什么??
刚建了一个站点,
注册了一个账号,
但是玩了一会,
密码忘了,
怎么破??
密码在数据库中可以查看,但是 MD5 加密,如果比较简单,可以试试解密的网站,不行的话,删掉数据库重装吧。
解决了,
数据库里复制了另一个账号的密码,
用另一个密码登陆了
@jat001
thank you !
@ego008 这让我想起了 MD5 的安全性,把加密改成 Hash 再加盐吧。
@ego008 http://www.php.net/manual/zh/faq.passwords.php#faq.passwords.fasthash
@jat001 common.php 里的 formhash 函数加了点盐。
下次改进密码加盐,看看能不能较友好的兼容已有上线网站。
@ego008
貌似还有一种思路:
把一个简单的密码(123456)加盐后,直接公开加密数据。
这样,要是忘了,进数据库,把密码替换,就能用123456登陆了。
另:
https://github.com/superwbd/youBBS-ACICFG
在1.04基础上加了点功能,调试中。。。
啥都不会,别见笑。。。
@superwbd @ego008 discuz 是两层 MD5 并加盐,wordpress 则更复杂。
我的想法是:
在数据库中新增两列 new_passwd 和 salt,用户登录时判断是否存在 new_passwd 和 salt,不存在验证 password,登录后强制要求用户修改密码。在几个版本后,用 new_passwd 替换 password。salt 可以用用户的注册时间,也可以像 discuz 那样随机产生并写进数据库,wordpress 则是用户指定。
@superwbd 管理员通过mysql 重设的好方法。
@jat001 尽量不修改数据库表结构,其中一个想法是判断当前密码的长度,若是32 就是原来密码的md5值,则直接通过新加密方法更新数据库,可以无缝接合,前提是新的密文少于32个字符。
@ego008 如何判断?
@ego008 加密后的密码不都是32位的?