首页建站经验 ECshop中defined('IN_ECS')的实现原理

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

在PHP中经常看到如下代码if (!defined('IN_ECS')){die('Hacking attempt');}实现的原因以及原理如下:ecshop里的有些.php页是不需要用户通过url直接访问的,用来被其它页调用的…

在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号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/17611.html
上一篇PHP获取当前相对于域名目录的方法
下一篇 discuz教程:用户搜索加入身高区间
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部