开源系统的后台入口都是统一的,安全起见,我要把它改成独一无二的。我这里的程序版本是官方的phpcms_v9.6.0_UTF8。
1./phpcms/modules/admin/classes/admin.class.php中
在final public function check_admin()函数中开始部分添加以下代码:
if(!in_array(ROUTE_A, array('login', 'public_card'))&&(!isset($_SESSION['userid']) || !isset($_SESSION['roleid']) || !$_SESSION['userid'] || !$_SESSION['roleid'])){ //01.直接提示错误403 //Header("http/1.1 403 Forbidden"); //exit('No permission resources.'); //02.直接跳转到前台首页 //header('location:index.php'); //03.提示错误信息后再跳转到首页 showmessage("哈,想进后台?没门!",'?m=content'); }
2./admin.php
<?php header('location:index.php?m=admin'); ?> 改为: <?php header('location:index.php?m=admin&c=index&a=login'); ?>
然后再把admin.php换个名字,例如admin123.php;亦或者新建一个admin456文件夹,把admin.php改为index.php放进去,那么现在能访问到后台的地址就只有:
http://域名/index.php?m=admin&c=index&a=login http://域名/admin123.php http://域名/admin456 http://域名/admin456/index.php
但是用phpcms的人都知道index.php?m=admin&c=index&a=login这个入口,所以有必要把这个login换掉,下面我们就来换这个login。
3.首先把1和2中的两个login换掉,我们以换成newlogin123为例
4.还是/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'))) { return true; } else { $userid = param::get_cookie('userid'); if(!isset($_SESSION['userid']) || !isset($_SESSION['roleid']) || !$_SESSION['userid'] || !$_SESSION['roleid'] || $userid != $_SESSION['userid']) showmessage(L('admin_login'),'?m=admin&c=index&a=login'); } 改为: if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('newlogin123', 'public_card'))) { return true; } else { $userid = param::get_cookie('userid'); if(!isset($_SESSION['userid']) || !isset($_SESSION['roleid']) || !$_SESSION['userid'] || !$_SESSION['roleid'] || $userid != $_SESSION['userid']) showmessage(L('admin_login'),'?m=admin&c=index&a=newlogin123'); }
final public function check_priv()函数中
if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('login', 'init', 'public_card'))) return true; 改为 if(ROUTE_M =='admin' && ROUTE_C =='index' && in_array(ROUTE_A, array('newlogin123', 'init', 'public_card'))) return true;
5./phpcms/modules/admin/index.php中
public function login()改为public function newlogin123()
6.查找“a=login”替换为“a=newlogin123”
\phpcms\modules\admin\index.php \phpcms\modules\admin\classes\admin.class.php \phpcms\modules\admin\classes\sites.class.php \phpcms\modules\admin\templates\header.tpl.php \phpcms\modules\admin\templates\login.tpl.php
7.经过上面的一番修改之后那么现在的真实登录地址就变成了index.php?m=admin&c=index&a=newlogin123
有朋自远方来...评论一下呗O(∩_∩)O