致lecms开发者:
20240514已更新底层框架的安全性~ 可gitee更新!
假如有一个插件文件夹名: xxx
里面有一个钩子文件:
index_control_index_before.php
在知道插件文件名和钩子名的情况下:
可以直接通过 域名/lecms/plugin/xxx/index_control_index_before.php, 对php代码进行访问!
如果钩子文件的开头有下述代码,可以忽略!
1、加了常量判断
<?php
defined('ROOT_PATH') or exit;
代码片段
2、钩子里面的代码都是函数形式(有一定风险,可以通过动态路由访问:control-action)
<?php
//钩子里面的代码全是函数~
function xxxxx(){
...........代码片段
}
如果钩子里面代码是类似的一些可以执行的片段,如:
<?php
$a = 1;
$b = 2;
$c = $a+$b
或者一些直接操作数据库的代码~~
会给系统带来一些不安全的因素。
因此,建议对这种代码改下如下两种方式之一:
1、开头加exit (程序正常加载钩子代码,会自动替换 <?php exit; 为 空。)
<?php exit;
$a = 1;
$b = 2;
$c = $a+$b
或者一些直接操作数据库的代码~~
2、加常量定义判断 (程序正常加载钩子代码,也会自动替换 常量判断 为 空。)
<?php
defined('ROOT_PATH') or exit;
$a = 1;
$b = 2;
$c = $a+$b
或者一些直接操作数据库的代码~~
上述两种:直接访问钩子文件,会直接终止,不会执行下面的代码。
特别声明:本站所有资源均为学习测试使用,请在下载后48小时之内自主删除,本站以学习为目的不承担任何法律责任!
评论(0)