分享

防止其它文件不正常调用或者防止前台直接访问文件。 防止其它文件不正常调用或者防止前台直接访问文件。

 zybzgc2bi0066d 2017-10-11
在PHP中经常看到如下代码
  1. if (!defined('IN_ECS'))  
  2. {  
  3.     die('Hacking attempt');  
  4. }  

实现的原因以及原理如下:

    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

  1. define('IN_ECS', true);  
  2.   
  3. require(dirname(__FILE__) . '/includes/init.php');  

在页面直接访问

出现这样的结果


在不能直接访问的php里加上
if (!defined('IN_ECS'))
{
    die('Hacking attempt');
}
这样当直接访问init.php里就会显不
Hacking attempt
从页起到禁止访问的目的,而其它页面在调用init.php时是正常的

这样做更安全

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




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多