php管理员登录文件,使用PHP文件重置管理员密码(Drupal 8)

某些托管环境不允许SSH访问安装了Drupal站点的Web服务器,这使得无法通过命令行恢复Drupal 8管理员帐户密码。当基于命令行的密码恢复技术不起作用时,应采用以下方法作为“最后的选择”。

下文所述的密码重置方法使用必须上传到Web服务器的PHP脚本来重置管理员密码。若要成功执行此方法,必须具有将PHP文件上传到托管站点的服务器的功能。

在后台,PHP脚本执行完整的Drupal引导程序,以便获得对生成管理密码的必要功能的访问,然后使用通过Web浏览器执行脚本时通过URL指定的新密码来更新数据库。 。

注意:重设密码后,在服务器上保留此密码重设脚本是一个非常关键的安全漏洞,任何人都可以重设管理员密码。仔细使用此脚本,并在使用完脚本后始终将其删除。

首先,创建一个具有随机名称的文件(例如gh34tu9.php)。

将以下内容复制并粘贴到文件中,然后保存文件。<?php

use Drupal\Core\DrupalKernel;

use Symfony\Component\HttpFoundation\Request;

if (pathinfo(__FILE__, PATHINFO_FILENAME) == 'admin-pass-reset') {

die('Please change your file name to a random string to continue');

}

// Boot Drupal.

$autoloader = require __DIR__ . '/autoload.php';

$request = Request::createFromGlobals();

$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod', FALSE);

$kernel->boot();

// Get password hasher service.

$password_hasher = $kernel->getContainer()->get('password');

// Hash password.

if (isset($_GET['pass']) && !empty($_GET['pass'])) {

$newhash = $password_hasher->hash($_GET['pass']);

}

else {

die('Retry with ?pass=PASSWORD set in the URL');

}

// Update user password.

$updatepass = Drupal::database()->update('users_field_data')

->fields(array(

'pass' => $newhash,

// 'name' => 'admin',

//'mail' => 'yourmail@example.com'

))

->condition('uid', '1', '=')

->execute();

// Clean user 1 cache.

Drupal::cache('entity')->delete('values:user:1');

print "Done. Please delete this file as soon as possible";

将文件上传到Drupal安装目录的根目录(即存在index.php,update.php,robots.txt和其他文件和目录的位置)。

通过使用以下URL模式 在Web浏览器中请求文件来执行脚本:在上述URL中, -替换为您的实际域名, -替换为您在上面第一步中指定的实际文件名, -替换为所需的新密码。 注意:强烈建议您选择一个密码。http://example.com/gh34tu9.php?pass=mypassword

如果脚本执行成功,您将在Web浏览器中看到文本“完成”。安装Drupal时创建的管理帐户的密码(即user / 1)将更改为“ mypassword”(或您指定的任何值)。

最后,从Drupal安装根目录中删除该文件。

重置管理员帐户用户名

如果您不记得(或根本不知道)管理员帐户的用户名,请在上面的脚本中将更改

// 'name' => 'admin',为,并且用户名也将更改为“ admin”。您也可以通过相同的方式来重置管理员的电子邮件地址,方法是“取消注释”(删除)上面脚本中的电子邮件地址行。 'name' => 'admin',//

为了您的方便,上面脚本的源文件附在ZIP文件内的下方。您可以下载该zip文件,然后将其解压缩,然后将其上传到服务器。确保将文件名更改为原始名称以外的其他名称。最后,不要忘记在更改密码后立即删除文件。

本文档包含不安全的代码

欢迎您对此页面进行编辑。但请不要将其状态更改为“不安全代码”以外的任何其他内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值