ECshop中defined('IN_ECS')的实现原理
生活随笔
收集整理的這篇文章主要介紹了
ECshop中defined('IN_ECS')的实现原理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在PHP中經(jīng)常看到如下代碼 if (!defined('IN_ECS')) ? { ? die('Hacking attempt'); ? } ? 實(shí)現(xiàn)的原因以及原理如下: ecshop里的有些.php頁(yè)是不需要用戶通過url直接訪問的,用來被其它頁(yè)調(diào)用的,例如/includes/init.php,就不需要直接訪問,通過url訪問你的網(wǎng)址/includes/init.php是無意義的,所以我們?cè)诳梢灾苯臃絾柕膒hp里加上define('IN_ECS', true); 例如在index.php中有如下代碼,一開頭就設(shè)置IN_ECS的值為true然后才去加載init.php這樣init.php文件中IN_ECS的值就為true,這時(shí)候引入cls_mysql.php也可以引入,因?yàn)榇藭r(shí)IN_ECS的值也是為true define('IN_ECS', true); ? require(dirname(__FILE__) . '/includes/init.php'); ? 在頁(yè)面直接訪問 出現(xiàn)這樣的結(jié)果 在不能直接訪問的php里加上 if (!defined('IN_ECS')) { die('Hacking attempt'); } 這樣當(dāng)直接訪問init.php里就會(huì)顯不 Hacking attempt 從頁(yè)起到禁止訪問的目的,而其它頁(yè)面在調(diào)用init.php時(shí)是正常的 這樣做更安全 這也是一種設(shè)計(jì)思想,防止其它文件不正常調(diào)用或者防止前臺(tái)直接訪問文件。
總結(jié)
以上是生活随笔為你收集整理的ECshop中defined('IN_ECS')的实现原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软职位内部推荐-SW Engineer
- 下一篇: ecshop订单打印页显示商品缩略图和序