作者:亚艾元技术部
网络安全是头等问题,但是很多单位网站做好了以后,疏忽了安全管理,造成了不必要的损失。Drupal的安全,在开源CMS系统里面,还算是做的比较好的。在中国,每逢重大节日,为了防范国外黑客的攻击,都会加强网络的安全防护。
最近,我们就遇到了这样的需求,客户要加强网站的安全管理。采取的措施,就是白天网站正常上线,网上睡觉的事后,关停网站。每天晚上11点把网站给关闭了,早上7点把网站打开。Drupal可以做到这一点么,答案是可以的。但是需要写一段代码,代码我们已经写好了:
function mycustom_cron() { $maintenance_mode = \Drupal::state() ->get('system.maintenance_mode', FALSE); $start = strtotime('7:00:00'); $end = strtotime('23:00:00'); if (REQUEST_TIME >= $end || REQUEST_TIME <= $start){ //休息时间,如果已经是维护模式,跳过;否则,设置为维护模式 if(!$maintenance_mode){ \Drupal::state()->set('system.maintenance_mode', TRUE); //\Drupal::service('cache.render')->invalidateAll(); drupal_flush_all_caches(); } }else{ //工作时间,如果已经是维护模式,取消维护 if($maintenance_mode){ \Drupal::state()->set('system.maintenance_mode', FALSE); } } }
这里根据业务需要实现了定时任务,基于Drupal自带的维护模式,让Drupal站点到点下线,第二天醒来,到点上线。完美解决需求。经过实践检验,一切正常。