Phpcms V9修改管理后台登录入口路径的三种方法

    发布时间:2021-01-19 00:18:59

    阅读量

    广告位招租,联系QQ:9056731

    在CMS探讨论坛里边有朋友提出“PHPCMS后台访问路径怎么修改?index.php?m=admin”的问题,并且@了我们客服,于是我们抽空来分享Phpcms V9修改管理后台登录入口路径的三种方法,方便大家了解这一安全设置方法,自定义PC V9的登录入口,做到更安全。

    方法一:在管理后台修改为一个二级域名。

    管理后台设置登录入口

    在管理后台:设置 > 相关设置 > 安全配置 >后台访问域名,输入自定义二级域名admin.abc567.net后,只能通过该域名登录(如果需要去掉绑定,则需要修改 /caches/configs/system.php中参数admin_url可手动取消绑定)。

    之后在域名解析中解析admin.abc567.net到这个主机,主机端也绑定上,另外设置默认index次序index.php为最先,这样就做到了管理后台入口的修改。

    这一方法需要配合域名解析和主机端绑定域名,推荐级别:4星 ★★★★。

     

    方法二:根据自定义SESSION值判断管理入口。

    这一方法需要修改默认的phpcms的php文件,自定义一个入口启动SESSION,然后判断SESSION,吻合则登陆,不成则跳转到首页。当前ABC567用的则是这个方法。

    2.1、修改\phpcms\modules\admin\index.php文件,在public function __construct() 方法开头处加入:

    //login diy
    if (empty($_SESSION['cms_login'])) {
    header('location:'.APP_PATH);
    exit;
    }

    另外找到public function public_logout()方法,在句首加入

    $_SESSION['cms_login'] = 0;

    这一行,这样做到退出后清空cms_login这一SESSION值。

    2.2、然后自定义一个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这个目录可以随意修改,隔一段时间就修改下,这样最安全。推荐级别:5星 ★★★★★。
    具体修改的PHP文件可以在商城下载,欢迎帮助我们测试商城模块。

     

    下一页将讲解Phpcms V9修改管理后台登录入口路径的第三种方法~
     

    方法三:修改Phpcms原有登录模块的方法名称。

    3.1、修改admin.php文件名(比如修改为newadmin.php),并修改跳转地址写上完整路径。

    3.2、修改 /phpcms/modules/admin/classes/index.php,把public function login改为自己想要的名。

    3.3、修改 /phpcms/modules/admin/classes/admin.class.php。

    final public function check_admin() {

    if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'public_card'))) {

    改为:

    final public function check_admin() {

    if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('新登录函数名', 'public_card'))) {

    if(!isset($_SESSION['userid']) || !isset($_SESSION['roleid']) || !$_SESSION['userid'] || !$_SESSION['roleid']) showmessage(L('admin_login'),'m=admin&c=index&a=login');

    这块会跳转到网站首页,不知道准确地址永远打不开登录页面,找到:

    if(!isset($_SESSION['userid']) || !isset($_SESSION['roleid']) || !$_SESSION['userid'] || !$_SESSION['roleid']) showmessage(L('admin_login'),APP_PATH);

    final public function check_priv() {

    if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'init', 'public_card'))) return true;

    改为:

    final public function check_priv() {

    if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('新登录函数名', 'init', 'public_card'))) return true;

    3.4、修改 /phpcms/modules/admin/templates/login.tpl.php

    form action="index.php?m=admin&c=index&a=login&dosubmit=1" method="post" name="myform">

    改为:

    form action="index.php?m=admin&c=index&a=新登录函数名&dosubmit=1" method="post" name="myform">

    3.5、搜索 /phpcms/modules/admin下所有文件,把a=login改为a=新登录函数名。

    这样就实现了修改Phpcms v9默认后台地址的自定义,新的管理入口为:http://www.abc567.net/newadmin.php(newadmin.php为第一步修改后文件名)。

    这一方法较为复杂,修改不便,推荐级别:3星 ★★★。

     

    广告位招租,联系QQ:9056731
    留言与评论(共有 0 条评论)
       
    验证码: