致lecms开发者:
20240514已更新底层框架的安全性~ 可gitee更新!(这个时间节点前的版本不支持“<?php exit;”这种写法)
假如有一个插件文件夹名: 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
或者一些直接操作数据库的代码~~
上述两种:直接访问钩子文件,会直接终止,不会执行下面的代码。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论