我有一個簡單的登錄頁面,用於檢查數據庫憑據,然後每個頁面都包含auth.php
,驗證$_SESSION['logged']
已設置,並且該會話未過期。php身份驗證最佳實踐...?
問題是,每個頁面還包含另一個頁面tab.php
(類似於菜單),我也需要限制訪問,但包括auth.php
在內的tab.php
使得包含發生兩次。如果我不包含auth.php
tab.php
,任何人都可以直接跳過tab.php
繞過驗證檢查,並可能檢索隱私信息。
要解決這種情況的最佳實踐?
編輯:
我忘了問,但你用什麼路徑,使其相對於站點根目錄?由於兩個auth.php
和tab.php
是在文件夾和index.php
包括tab.php
是根 - include函數根據我用什麼路徑('./includes/auth.php'
OR './auth.php'
)給出了一個錯誤或者index.php
或tab.php
- 如果你知道我的意思。我試過'/includes/auth.php',但那不起作用。
你是什麼意思「任何人都可以訪問標籤。 PHP的「?你是說如果他們知道文件的路徑,他們可以通過手動輸入來查看它? – Gazillion
所以你想確定,必須包含auth.php,但你不想包含兩次? – dwalldorf
難道你不需要:'include_once()'? – PeeHaa