2016-03-30 109 views
0

我正在構建一個簡單的網站作爲功課。它需要登錄才能看到內容,但現在如果我去myserver/welcomepage.php,我可以看到內容。我用下面的代碼我welcomepage:PHP - 防止未註冊用戶加入

if (!isset($_SESSION['Username'])) { 
    header('Location:index.php'); 
    exit; 
} 

,但如果有人試圖用虛假的登錄密碼,然後再次進入服務器myserver/welcomepage.php他能看到的內容。 我閱讀關於使用IP或cookies的信息。 你有什麼建議?

+2

我會建議檢查身份驗證流程。在我看來,即使登錄失敗,你的應用程序也會設置'$ _SESSION ['用戶名']。 – frz3993

+0

是的,這是一個問題。 – Christakitos

回答

0

您在登錄失敗時設置了$_SESSION['Username']。檢查登錄處理的功能,如果用戶登錄成功,則只設置會話變量。另外請確保您在最上面包含session_start();,並且該代碼段出現在包含<html>標記的任何html之前。只有在發送任何輸出之前,標題纔會起作用。

+0

我想這是最不安全的方式,對吧? – Christakitos

+0

我不確定你的意思。 –

+0

我的意思是會話方式保護我的應用程序頁面,否則很容易繞過? – Christakitos