防止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中文網其他相關文章!