配置Drupal9安全密钥·控制网站上线与下线

  对于Drupal9职业开发者或公司来说,Renew模块是非常有用的。当辛辛苦苦的为客户完成开发任务时,却遭遇付款抵赖、拖延等情况。这个时候,就需要一个方案,让系统停止运行,以此迫使抵赖者按合同办事。白龙网研究发现,Renew模块可以帮助我们实现这一目的,同时也可用于维护期结束后友好的提醒客户续费。
 
  在“管理->扩展”中安装并启动Renew模块后,点击配置按钮或者直接访问地址(/admin/renew)进入Renew控制页面。
 
  一、设置密钥
 
  每次进入renew配置页面时,drupal9会要求用户输入控制密码,请牢记该密码(私有保存,不要发给客户),以后再次进入控制页,必须要该密码才能进行登录。
 
  务必要设置一个复杂的密码并保存到一个安全的地方,控制页仅凭该密码才可进入,而不需要任何权限,如果泄露了该密码,将可能对客户造成不良影响。
 
  二、修改地址
 
  出于安全考虑,如果要自定义drupal9控制页面登陆地址“/admin/renew”,可以进入Renew模块根目录的renew.routing.yml文件,修改路由参数path:'/admin/renew'为任意地址path:'/admin888/renew666'。
 
  经过上述配置,那么,控制页面的访问地址就变成了:http://localhost/admin888/renew666了,提升了系统的安全性。
 
  三、隐藏模块
 
  可能有人会问,如果管理员删除或者修改了Renew模块的功能,那么Renew的功能是否还有效?Drupal9开发初期已经考虑到了这个问题,在Renew配置页面可以设置“防止卸载”的功能,即可禁止用户卸载该模块。
 
  这个时候,如果你想通过删除/modules/renew文件夹让renew模块失效,那是愚蠢的想法。因为,你直接删除/modules/renew文件夹,drupal9系统直接出现异常崩溃。正确卸载模块的做法是首先在“/admin/modules/uninstall”界面卸载Renew模块,然后在进入/modules/目录删除renew模块的文件夹。由于在控制界面已经设置了“防止卸载”Renew模块的功能,所以无法删除/modules/renew文件夹,确保了系统的安全性。
 
  同时,也可以彻底的在后台隐藏Renew该模块,进一步加强网站的可控性、安全性。具体实现方法,在Renew模块根目录的“renew.info.yml”文件中添加“hidden:true”,这样Renew模块就不会出现在“管理->扩展”模块列表页了。
 
  四、配置参数
 
  1、服务时间
 
  在drupal9的控制界面,可以设置一个时间点作为服务结束时间,也可以设置一个宽限的时间给客户一个缓冲的时间。
 
  (1)在服务时间到期之前,drupal9系统可以正常运行;例如,服务时间为2022年1月1日,那么2022年1月1日之前,系统就可以正常运行。
 
  (2)在宽限时间段内,drupal9系统不会停止运行,但会在管理后台或者全站会显示一条自定义的提示消息;宽限时间以“秒”为单位,例如,86400(1days),604800(7days),864000(10days),2592000(30days),7776000(3months),默认宽限时间为15天1296000(15days)。
 
  (3)超过宽限期时,drupal9系统将自动关闭,此时,即便是超级管理员也无法进入系统,用户访问所有页面均会显示一条自定义的提示消息;这种关闭不会对系统造成任何损害,随时可以通过控制地址/admin/renew,凭借安全密钥,进入控制界面,更改设置而让系统重新正常运行。
 
  2、提示信息
 
  服务结束时间与宽限多长时间的自定义提示信息,可以仅在后台显示,也可以前台、后台同时显示;当然,也可以配置邮件服务器,通过邮件提醒客户。
 
  3、防止卸载
 
  可以配置是否允许用户卸载Renew模块;当然,如果已经隐藏了该模块的显示,就不涉及用户卸载的事儿了。例如,勾选“允许卸载renew模块”,则管理员有权限卸载;不勾选,则管理员无法卸载。