ecshop教程:ecshop网中defined('IN_ECS')
的实现原理!
在PHP中经常看到如下代码
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
实现的原因以及原理如下:
ecshop里的有些.php页是不需要用户通过url直接访问的,用来被其它页调用的,例如/includes/init.php
,就不需要直接访问,通过url访问你的网址/includes/init.php
是无意义的,所以我们在可以直接方问的php里加上
define('IN_ECS', true);
例如在index.php
中有如下代码,一开头就设置IN_ECS的值为true然后才去加载init.php
这样init.php
文件中IN_ECS
的值就为true,这时候引入cls_mysql.php
也可以引入,因为此时IN_ECS
的值也是为true
define('IN_ECS', true);
require(dirname(__FILE__) . '/includes/init.php');
在页面直接访问,出现这样的结果,在不能直接访问的php里加上
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
这样当直接访问init.php里就会显不
Hacking attempt
从页起到禁止访问的目的,而其它页面在调用init.php时是正常的,这样做更安全,这也是一种设计思想,防止其它文件不正常调用或者防止前台直接访问文件。
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。