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

分  类: ecshop教程

统  计:245 次获取

创建时间: 2024-03-21 14:40:49

  • 详情介绍
13+年专注全栈开发,承接小程序开发,分销系统定制,网站建设、搬家、搭建,二次开发等一站服务,欢迎咨询
在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时是正常的这样做更安全这也是一种设计思想,防止其它文件不正常调用或者防止前台直接访问文件。

 
ECshop中defined('IN_ECS')的实现原理_ecshop教程 栏目文章由:源码庄整理发布,转载请注明来源。
来源地址:https://www.codenet.cc/article/details/304.html
本站资源未标注正版授权软件均为会员提供或网上搜集,版权归原作者所有,如需商业用途或转载请与原作者联系;
发布的文章及附件仅限用于学习和研究目的,请勿用于商业或违法用途!如有侵权,请及时联系我们!
《更多用户服务协议声明》
  • 波浪
  • 波浪
  • 波浪
  • 波浪