PS:作死前先备份,已测试通过
1、环境
centos7
xampp7.3.6
phpcms v9
2、修改\phpcms\modules\admin\index.php文件
2.1、在public function __construct() 方法开头处加入:
public function __construct() {
//加入代码开始
//login diy
if (empty($_SESSION['cms_login'])) {
header('location:'.APP_PATH);
exit;
}
//加入代码结束
parent::__construct();
$this->db = pc_base::load_model('admin_model');
$this->menu_db = pc_base::load_model('menu_model');
$this->panel_db = pc_base::load_model('admin_panel_model');
}
2.2、找到public function public_logout()方法,在句首加入
public function public_logout() {
//加入代码开始
$_SESSION['cms_login'] = 0;
//加入代码结束
$_SESSION['userid'] = 0;
$_SESSION['roleid'] = 0;
param::set_cookie('admin_username','');
param::set_cookie('userid',0);
这一行,做到退出后清空cms_login这一SESSION值。
3、新建文件
然后自定义一个php文件里边启用cms_login这一SESSION值用于匹配:
在网站根目录新建admin\目录,在这个目录下新建文件index.php,内容如下:
<?php define('PHPCMS_PATH', realpath(dirname(__FILE__) . '/..') . '/');
include PHPCMS_PATH . '/phpcms/base.php'; // pc_base::creat_app();
$session_storage = 'session_' . pc_base :: load_config('system', 'session_storage');
pc_base :: load_sys_class($session_storage);
session_start();
$_SESSION['cms_login'] = 1;
unset($session_storage);
header('location:../index.php?m=admin');
?>
这样Phpcms管理后台只能通过http://域名/admin/
访问登录了,而且admin这个目录可以随意修改,隔一段时间就修改下,这样最安全。