2016-11-15 27 views
-1

我想知道什麼是最有效的方式來阻止人們通過直接鏈接訪問我的管理頁面。我目前正在做的是當用戶登錄時,會話將被設置,並在頁面上檢查它是否設置。PHP - 如何通過直接鏈接防止未經授權訪問管理面板?

這是傳遞登錄:

$_SESSION['lo'] = 1; 

這將檢查管理頁面上的會話:

session_start(); 
if (!isset($_SESSION['lo'])) 
    header("Location: ,./login.php"); 

這是最有效的方法是什麼?有其他方法嗎?我可以想象,你可以以某種方式濫用本次會議獲得未經授權的訪問。這是我想要阻止的。

+0

可能重複http://stackoverflow.com/questions/2848134/what-are-best -practices-for-secured-the-admin-section-of-website –

+0

這是一個足夠好的後衛。 –

+0

與一些哈希,當用戶輸入這個哈希automaticaly禁用它 – ZiTAL

回答

1

最好使用ACL,但最簡單的方法將低於

$sess_prefix = 'app1'; 
if(!isset($_SESSION[$sess_prefix.".username"])){ 
    header("Location: index.php"); 
} 

session_start(); 

// Check if user is logged in 
if(!isset($_SESSION['user_id'])) 
{ 
    // User is not logged in 
    $_SESSION['message'] = 'You\'re not logged in'; 

    // redirect to home page 
    header('Location: \'); 
    exit; 
}