在PHP中經??吹饺缦麓a
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時是正常的
這樣做更安全
這也是一種設計思想,防止其它文件不正常調用或者防止前臺直接訪問文件。
新聞熱點
疑難解答