我正在用PHP編寫代碼,需要包含一個config.php
文件,具體取決於網站的URL。如何動態地包含PHP腳本?
我在變量$site
中設置了網址,而$site
的設置位於configs/$site/config.php
。
如何在PHP中動態地要求此文件?
安全嗎include "configs/$site/config.php";
?
我正在用PHP編寫代碼,需要包含一個config.php
文件,具體取決於網站的URL。如何動態地包含PHP腳本?
我在變量$site
中設置了網址,而$site
的設置位於configs/$site/config.php
。
如何在PHP中動態地要求此文件?
安全嗎include "configs/$site/config.php";
?
如果將$site
限制爲一組值,是的。
$sites = array(
'siteA',
'siteB'
);
if (isset($sites[$site])) {
include "configs/$site/config.php";
} else {
throw new Exception("Unknown site");
}
但是請記住:從外部決不信任任何事情,總是驗證值,即來自客戶端(瀏覽器)。
永遠不要相信。始終驗證。得到它了! – bodacydo
這很好。只要確保用戶不能更改$site
變量!如果用戶可以改變它,他可以讓它包含任何文件。
'$ site'取決於'Host'頭文件,感謝提醒我,如果用戶將'Host'設置爲'../../file \ 0'或類似的東西! – bodacydo
你說「要求」,但然後你演示'包括'...? –
確實,你可能想要使用'require'configs/$ site/config.php';' –
@FrankPresenciaFandos - 在這種情況下,對於'config'文件,'require_once'可能是最有用的方法。 –