栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > ecshop

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

ecshop 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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时是正常的

这样做更安全

这也是一种设计思想,防止其它文件不正常调用或者防止前台直接访问文件。



 

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/218866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号