opencart技巧-三个方案修改管理员密码

经常有人忘记管理员密码的,当然OC有默认找回密码功能。但是又有一些客户还没来得及配置账户或者是干脆邮件系统出故障。那么怎么办呢?

一:替换域名

前提一:同一机器上;

前提二:同数据库账户;

前提三:OC版本相同或者接近。

其他:是否有其他前提未知,欢迎测试。

比如,你知道 http://localhost/opencartA 的后台账户密码,不记得 http://localhost/opencartB 的后台账户密码,那么此时登陆前者,然后修改opencartA为opencartB即可登陆admin后台。

二:修改数据库

前提一:opencart版本相同(部分相近也可以);

前提二:需要一个参考网站。

利用phpmyadmin或者其他数据库连接工具,登陆知道账户密码的OC数据库,查看“oc_user”数据表,把ID是1的管理员账户的 password 字段和 salt 字段,复制并且替换到忘记密码的网站数据库对应的地方。

三:利用一个文件

我们可以看看,opencart改密码的地方是“/admin/index.php?route=user/user/edit”,

从这里推断处理层文件在“admin/controller/user/user.php”,

在从处理层查看到一段代码:

  1. $this->load->model('user/user');

由此判断model层对应文件是“admin/model/user/user.php”

找到文件,看到这样一段代码:

opencart技巧-三个方案修改管理员密码

我们从上面的代码看出了密码更新的代码也就是第13行这里。可以看出salt是怎么产生的,password的值又是怎么产生的,我们把这段代码简化就是:

  1. UPDATE `" . DB_PREFIX . "user` SET salt = '" . $salt . "', password = '" . sha1($salt . sha1($salt . sha1($password))) . "' WHERE user_id = '" . (int)$user_id . "'

然后,我们再赋值三个值,就可以达到要的效果了:

  1. $password = '密码';
  2. $salt = token(9);
  3. $user_id = '1';

于是这个方法就这么完成了。那么我们写一个PHP文件,写上这样的一个简单的代码,放网上运行即可啦。

PS:其实,本来有好多教程想写的,由于在组织其他开发,拖啊拖。这一篇实在是不想拖了。

文件下载

广告也精彩

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情