首頁 > 後端開發 > php教程 > 如何防止直接存取包含的 PHP 檔案?

如何防止直接存取包含的 PHP 檔案?

DDD
發布: 2025-01-01 09:11:15
原創
396 人瀏覽過

How Can I Prevent Direct Access to Included PHP Files?

防止PHP 中的直接文件存取

在Web 開發領域,控制對敏感文件的存取至關重要,尤其是那些專門用於存取的文件以便包含在其他腳本中。當可以透過 URL 直接存取此類文件時,會出現一個常見問題,從而導致潛在的安全漏洞。

為了解決此問題,PHP 提供了一個簡單的解決方案,可讓您限制對包含檔案的直接存取。透過實施簡單的條件檢查,您可以阻止未經授權的嘗試直接執行這些文件。

要有效實施此保護,請按照以下步驟操作:

1.檢查引用來源

打開您打算專門用作包含的PHP文件。將以下程式碼加入檔案的開頭:

if (!isset($_SERVER['HTTP_REFERER'])) {
    die('Direct access not permitted');
}

$current_url = $_SERVER['HTTP_REFERER'];
$allowed_url = 'https://example.com/page_that_includes_this_file.php';

if ($current_url != $allowed_url) {
    die('Direct access not permitted');
}
登入後複製

2.定義常數

在包含受保護檔案的PHP 檔案中,在開頭新增以下程式碼:

define('MY_CONSTANT', TRUE);
登入後複製

說明:

第一段程式碼檢查請求是否來自預期的引用 URL(在本例中為應包含該文件的頁面)。如果引用網址未設定或與允許的 URL 不匹配,則會產生錯誤訊息。

程式碼的下一部分在包含檔案中定義一個名為「MY_CONSTANT」的常數。在包含它的頁面上,你定義這個常數為TRUE,確保頁面可以合法存取該檔案。

透過實現這個機制,可以有效防止直接存取包含文件,確保其完整性和防止未經授權的執行。

以上是如何防止直接存取包含的 PHP 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板