ECshop中defined('IN_ECS')的实现原理

2015-06-29
在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. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!

无极源码之家 > cms教程 > ecshop教程 ECshop中defined('IN_ECS')的实现原理 http://www.160170.cn/index.php/cmsjiaocheng/2964.html

相关文章

评论
预留评论插件