ECshop中defined('IN_ECS')的实现原理
生活随笔
收集整理的這篇文章主要介紹了
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時是正常的 這樣做更安全 這也是一種設計思想,防止其它文件不正常調用或者防止前臺直接訪問文件。
總結
以上是生活随笔為你收集整理的ECshop中defined('IN_ECS')的实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软职位内部推荐-SW Engineer
- 下一篇: ecshop订单打印页显示商品缩略图和序