二维码

使用sql-query重置管理员密码(Drupal 7)

1267 人阅读 | 时间:2021年03月20日 17:54

在Drupal 7中,当用户1(管理员)的密码丢失并且电子邮件通知或提取方法无效时,可以通过数据库查询来设置密码。

但是首先,您必须生成一个对您的网站有效的密码哈希。

从命令行在Drupal根目录中执行以下命令:

./scripts/password-hash.sh newpwd

检查此脚本的第一行。它将显示类似的内容#!/usr/bin/php确认此行中列出的文件名位于您的计算机上。通常,如果不可用,则将可用。/usr/bin/php/usr/local/bin/php

或对于Windows:

php .\scripts\password-hash.sh newpwd
注意:如果收到错误消息,表明PHP不是可识别的命令,则需要将php添加到系统PATH中。例如:; c:\ wamp \ bin \ php \ php5.3.8 \。然后,它将在命令提示符下工作。完成后,在“命令提示符”窗口中右键单击以标记文本并复制哈希码。

注意:如果收到关于包含无法找到文件的错误,则需要使用--root参数指定Drupal安装的根目录。

当然,将“ newpwd”更改为所需的密码。如果密码包含特殊字符(例如空格),则*或?您必须对它们进行转义,或将密码用适合所用外壳的引号引起来。

该脚本将输出对该站点有效的密码哈希。将其复制到剪贴板或将其写下来;您将需要进行下一步。请注意,不要在散列中包含更多或更少的字符。这些哈希看起来有点像$S$CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML

然后在Drupal数据库上执行以下查询:

UPDATE users SET pass ='$S$CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML' WHERE uid = 1;

要执行此查询,必须登录到数据库。这通常是通过命令行或通过phpMyAdmin之类的GUI界面来完成的。

清除洪水表(仅Drupal 7)

如果您使用脚本或“请求新密码”重置了密码,但仍然收到“对不起,该帐户的登录尝试失败超过5次。它被暂时阻止。 ”那么您可以删除泛洪表中的相应条目。

该洪泛表记录了登录尝试失败的用户名和IP。

使用PHP文件重置

没有命令行访问权限?您也可以使用PHP文件重置密码,但是请记住,如果处理不当,这可能会引发巨大的安全问题

传递根参数

如果您在Windows上,并且想要将参数传递给脚本,则需要这样做:

php -f password-hash.sh -- --root "C:\wamp\www\" newp@ss


©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×