记录分享邓杰律师从事网络技术工作点点滴滴。
编者按:修改 PHPCMS V9 后台管理员登录路径(默认通常是 /admin.php 或 /phpcms/admin/)是一种基础但有效的安全加固措施,其核心意义在于 提高攻击门槛、延缓自动化攻击、降低被爆破成功概率。
phpcms v9 管理员登录后真实路径为:
/index.php?m=admin&c=index&a=login&pc_hash=,
恶意攻击者经常利用这个登录界面通过枚举管理员账号和密码进行爆破。解决这一问题的思路就是对路径进行适当的改变,具体方法如下:
一、找到并打开/phpcms/modules/admin/index.php查找到:public function login,将其中的login修改为别人难以猜中,你自定义名称,比如在login前面加一个前缀yourqianzhui_,最终效果为public function yourqianzhui_login。
二、找到并逐一打开,查找到?m=admin&c=index&a=login,将其统一替换为?m=admin&c=index&a=yourqianzhui_login。
\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\modules\admin\classes\admin.class.php(一共两处),查找到:array('login',将其修改为:array('yourqianzhui_login',。
四、找到并打开\phpcms\modules\admin\classes\admin.class.php(一共一处),查找到:final public function check_admin() {,在 {之后增加以代码:
$currentAction = strtolower(ROUTE_A);
$allowActions = array(''yourqianzhui_login', 'public_card');
if (!in_array($currentAction, $allowActions, true) && (empty($_SESSION['userid']) || empty($_SESSION['roleid']))) {
header('Location: /404.html');
exit;
}
if (!empty($_SESSION['userid']) && $currentAction === 'login') {
header('Location: /404.html');
exit;
}
五、找到并打开/admin.php,将
header('location:index.php?m=admin');修改为header('location:index.php?m=admin&a=yourqianzhui_login');。
六、将/admin.php文件名修改为别人难以猜中,你自定义名称,如:/admin_123456789.php。
七、最后访问你的域名/admin_123456789.php验收成果。
本文标签:

专注执业领域事务
全力办理委托事项
扎实维护合法权益

邓杰律师电话:13715198118
请输入您的联系电话,座机请加区号
