首页 > 网站开发 > V9二次开发 > phpcms后台目录修改

V9二次开发

phpcms后台目录修改

2020-04-02 12:28:21V9二次开发
在管理后台:设置 > 相关设置 > 安全配置 >后台访问域名,输入自定义二级域名admin cmsyou com后,只能通过该域名登录(如果需要去掉
在管理后台:设置 > 相关设置 > 安全配置 >后台访问域名,输入自定义二级域名admin.cmsyou.com后,只能通过该域名登录(如果需要去掉绑定,则需要修改 /caches/configs/system.php中参数admin_url可手动取消绑定)。
 
之后在域名解析中解析admin.cmsyou.com到这个主机,主机端也绑定上,另外设置默认index次序index.php为最先,这样就做到了管理后台入口的修改。
 
 
方法二:根据自定义SESSION值判断管理入口。
 
这一方法需要修改默认的phpcms的php文件,自定义一个入口启动SESSION,然后判断SESSION,吻合则登陆,不成则跳转到首页。当前CMSYOU用的则是这个方法。
 
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,内容如下:
 
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这个目录可以随意修改,隔一段时间就修改下,这样最安全。
 
 
方法三:修改Phpcms原有登录模块的方法名称。
 
1、修改admin.php文件名(如:修改为cmsjzy.php),并修改跳转地址,完整地址或相对地址均可,如:
 
 
header('location:http://www.abc.com/index.php?m=admin&c=index&a=cmsjzy_login');//cmsjzy_login为新登录函数名,下文用到的cmsjzy_login也都为新登陆函数名
 
?>  
 
 
header('location:index.php?m=admin&c=index&a=cmsjzy_login');
 
?>
 
如果想像dedecms那样输入文件夹名称就可以登陆的话,可以在根目录下建立一个文件夹(如:cmsjzy),然后把admin.php文件名修改为index.php并移动到cmsjzy文件夹下,文件内容的修改与之前一样,如果是相对地址的话注意把路径写正确,
 
2、修改 /phpcms/modules/admin/index.php,把登录方法public function login改为自己想要的名字,如:public function cmsjzy_login。
 
找到“?m=admin&c=index&a=login”,将其全部替换为“?m=admin&c=index&a=cmsjzy_login”
 
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('cmsjzy_login', '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('cmsjzy_login', 'init', 'public_card'))) return true;
 
4、修改 /phpcms/modules/admin/templates/login.tpl.php
 
将代码
 
 
 
修改为
 
 
 
5、搜索 /phpcms/modules/admin下所有文件,把a=login改为a=cmsjzy_login。
{共有9处地方,涉及5个PHP文件
/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}
 
通过以上步骤就实现了修改phpcms v9默认后台地址,至此修改完成!
 
现在就可以通过新的url地址登录后台了,如:http://www.abc.com/cmsjzy.php或http://www.abc.com/cmsjzy(类似dedecms的文件夹登陆)

文章评论

  • 加我请扫码

    工作时间

    周一至周日 9:00-18:00

  • 如果本站对你有帮助可以通过扫码支付打赏下哦!

    • 微信收款码
    • 支付宝收款码