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

安全设置方法,自定义PC V9的登录入口,做到更安全。

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

管理后台设置登录入口

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

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

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

 

方法二:根据自定义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,内容如下:

<?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原有登录模块的方法名称。

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.cmsyou.com/newadmin.php(newadmin.php为第一步修改后文件名)。

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

===============其他方法4==========================
整个修改共分两步:
第一步:
在网站根目录创建一个文件夹,以后就要通过这个文件夹进入后台登录界面的,所以文件夹名就要取一个不易被人轻易猜到的名称。这里作为演示,我就取为 admpub 好了。接着,在这个文
件夹里新建一个文件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['right_enter'] = 1;
unset($session_storage);
header('location:../index.php?m=admin');
第二步:
在 phpcms/modules/admin/ 文件夹里新建一个文件 MY_index.php,内容为:

复制代码
代码如下:

<?php defined('IN_PHPCMS') or exit('No permission resources.');
class MY_index extends index {
public function __construct() {
if (empty($_SESSION['right_enter'])) {
header('location:./');
exit;
}
parent :: __construct();
}
public function public_logout() {
$_SESSION['right_enter'] = 0;
parent :: public_logout();
}
}
好了,修改完成。以后就只能通过 admpub/ 目录访问后台登录入口 了,如果直接使用 index.php?m=admin 访问的话,会直接跳转到网站首页,这样就阻止了对后台登录入口的直接访问了。

文章作者来源参考资料:

http://www.xaheimi.com/

http://www.icoyun.com/

https://www.10kuaijian.com/

https://www.kuaijianjm.com/

https://www.kuaijiandian.com/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了增加网站的安全性,我们可以考虑修改phpcms v9后台登录地址,具体方法如下: 1. 打开phpcms v9根目录下的phpsso_server/config/config.php文件,找到$sso_auth_key变量,将其值修改为一个随机字符串,例如:$sso_auth_key = 'asdfghjkl123456'; 2. 打开phpcms v9根目录下的api/config/config.php文件,找到$sso_auth_key变量,将其值修改为与上面相同的随机字符串。 3. 打开phpcms v9根目录下的phpcms/config/database.php文件,找到$database变量,在其下方添加以下代码: ``` $siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : 0; if($siteid > 0) define('SITEID', $siteid); ``` 4. 打开phpcms v9根目录下的phpcms/modules/admin/controllers/IndexController.class.php文件,找到login方法,在其上方添加以下代码: ``` if($_SERVER['REQUEST_METHOD'] == 'POST') { // 判断用户名和密码是否正确 // ... } else { if(isset($_GET['newurl'])) { $url = base64_decode($_GET['newurl']); $url = str_replace(SITE_PATH.'index.php', '', $url); header('Location: '.SITE_PATH.$url); exit; } } ``` 5. 将后台登录地址从http://你的网站地址/phpcms/index.php?m=admin&c=index&a=login修改为http://你的网站地址/admin.php?m=admin&c=index&a=login&siteid=1(其中1为站点ID,可以根据自己的实际情况修改),并将修改后的admin.php文件上传到网站根目录下。 6. 打开phpcms v9根目录下的phpcms/modules/admin/controllers/IndexController.class.php文件,找到构造方法,在其下方添加以下代码: ``` public function __construct() { parent::__construct(); $this->siteid = isset($_GET['siteid']) ? intval($_GET['siteid']) : 1; define('SITEID', $this->siteid); } ``` 完成以上步骤后,即可成功修改phpcms v9后台登录地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值