2013-05-04 85 views
0

我是PHP新手,面臨安全問題。 我用的,如果他們沒有登錄這個重定向未授權的用戶。如何保護我的PHP網頁免受未授權用戶的攻擊

<?php 
session_start(); 

if(!isset($_SESSION['user_id'])) { 
    header('Location: login.php'); 
} 
?> 

這是對我的網頁的每一個頂部,但是當我登錄並點擊我的受保護的頁面會重定向到登錄頁面,而不是原來的/保護頁面打開,我的會話變量設置在我的登錄頁面上,如何將此會話變量包含在受保護的頁面中。

+2

發佈您的登錄頁面'code' – Nauphal 2013-05-04 08:55:44

回答

1

如果當你登錄時,它會向您發送到登錄頁面,然後$_SESSION['user_id']可能沒有設置,或者你不包括會議文件,以檢查它,這樣做:

var_dump($_SESSION['user_id'])

在頁面上,並暫時離開了header如果後續代碼var_dump返回NULL,這意味着,$_SESSION['user_id']未設置

0

試試這個:

if(!isset($_SESSION['user_id'])) 
{ 
    // The user id variable is not set. Therefore, the user is most likely a guest. 
    $_SESSION['user_id'] == 0; 
} 
if($_SESSION['user_id'] == 0) 
{ 
    // The user does not have a user id set. We assume, therefore, that they are a guest. 
    header("Location: login.php"); 
} 

另外,在您的登錄腳本中,請確保您將$_SESSION['user_id']設置爲0以外的任何值。

相關問題