某些托管环境不允许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文件,然后将其解压缩,然后将其上传到服务器。确保将文件名更改为原始名称以外的其他名称。最后,不要忘记在更改密码后立即删除文件。

本文档包含不安全的代码

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

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

  1. oracle管理员登录报错,关于Oracle使用管理员账号登录失败的问题

    我在本地建的Oracle数据库在调试自己写的存储过程的时候提示缺少 debug connect session 权限,一般情况下根据这个提示直接用管理员账号登录进去,执行 grant debug co ...

  2. 服务器2008管理员登录没有权限修改文件,windows sever 2008只要本地任何用户登录系统,共享的文件夹就无法网络访问,不登录没有问题....

    级别 日期和时间 来源 事件 ID 任务类别 错误 2013/8/6 15:55:29 Application Hang 1002 (101) "程序 mmc.exe 版本 6.1.7600 ...

  3. day02【后台】管理员登录

    day02[后台]管理员登录 1.创建常量类 创建常量类,用于管理整个系统中所用到的常量 public class CrowdConstant {public static final String ...

  4. 【超详细Django网站开发过程9】便利店管理系统之——管理员登录、注销功能

    管理系统当然要有管理员登录功能啦,怎么做呢? Lynjay的便利店管理系统,登录API如下: 1.请求消息: POST /api/mgr/signin HTTP/1.1 Content-Type: a ...

  5. php管理员登录文件,快速的事情,只有管理员,PHP才能访问文件

    我有这个welcome.php管理员被重定向时,他是通过身份验证,我有这个其他hostess.php我希望它只显示给管理员,我的意思是,没有人应该有权访问,除非他或她登录. welcome.php文件 ...

  6. cp无法创建普通文件权限不够_MAC从管理员变成了普通用户怎么办?

    估计是之前清理电脑,进行了什么操作,导致管理员变成普通用户,没有全名,也无法解锁的问题.重新创建一个管理员.然后用新建的管理员登录,设置之前普通用户的信息,提升权限. 步骤: 1.关机,按电脑开机键, ...

  7. window10保存文件时提示联系管理员_东芝2000AC扫描文件到远程域共享服务器

    一.需求描述 客户一台东芝2000AC一体机,想将扫描的文件,扫描到公司的一台共享远程域共享服务器中,共享服务器采用的域管理,而且域共享采用的是不允许管理员登录访问,只有普通用户访问,管理员权限在管理 ...

  8. 【计算机网络】第六部分 应用层(26) 远程登录、电子邮件与文件传输

    文章目录 26.1 远程登录 26.1.1 `TELNET` 1. 分时环境 2. 登录 3. 网络虚拟终端 4. 嵌入 5. 选项 6. 操作方式 26.1.2 Rlogin和SSH 26.2 电子 ...

  9. 用WinSCP登录路由器并传入文件及改文件权限

    本人的斐讯K2,刷了潘多拉固件.所以教程基于潘多拉固件,但基本通用. 1如何用WinSCP登陆Pandorabox 怎么下载安装WinSCP我就不说了,给个WinSCP下载地址 https://win ...

最新文章

  1. Hessian通信案例(java)
  2. 模板or定制网站如何选?
  3. 盘点:2020年PMCAFF最受欢迎的文章!
  4. ASP.NET中WebForms简介与搭建HelloWorld项目
  5. python中的常量_Python中的变量和常量
  6. 【编译原理】文法分类
  7. YBROJ洛谷P3211:XOR和路径(线性基,期望dp)
  8. idea创建多模块Springboot项目、导入多模块、删除多模块
  9. matlab第十章实验,matlab 图像函数以及运用(第十章)
  10. 【遥感影像处理与分析】遥感影像校正详解-辐射校正、几何校正流程与方法比较
  11. Mac无法打开“XX”,因为Apple无法检查其是否包含恶意软件。”的解决办法
  12. Netch + Connectify 实现代理转全局并共享给其他设备,例如Kindle
  13. C语言求余运算符的使用
  14. RC电路的充放过程C语言实现,RC电路的瞬态和稳态过程
  15. AWS为什么能成功?
  16. Fitbit与JMDC签订协议,指定JMDC为日本企业客户的Fitbit Premium独家分销商
  17. 桥接模式: Bridge
  18. 量化 ZIG函数的python实现
  19. 百度想成为伟大的金融科技公司?太迟了
  20. linux下top指令参数详解及用法

热门文章

  1. 如何优雅关闭 Spring Boot 应用
  2. 研究consul的service mesh功能
  3. 微信团队放大招!他们为了小程序居然...
  4. 衡量计算机的平均无故障时间6,平均无故障时间MTBF测试及计算过程
  5. android6.0升级名单,三星Android 6.0升级详细名单[多图]
  6. 小学数学开灯问题_包含数学暑假答案的一年级数学假期作业题
  7. Oracle分区表详解 .
  8. numpy条件筛选的坑
  9. python walk 遍历文件夹 文件大小
  10. relu与maxpool