2012-11-01 122 views
1
if($_POST['user'] == 'anita' && $_POST['pw'] == '123') 
{ 
    $_SESSION['username'] = $_POST['user']; 
    echo "Welcome, " . $user; 
    $loggedin = true; 
}else 
{ 
    die('Log in details incorrect.'); 
} 

if(isset($_SESSION['username'])) 
{ 
    // Show website edit menu 
} 

我創建了一個網站,我在考慮爲我的客戶添加一個小型自制CMS,以便她自己更新網站。PHP是安全的會話

這是保存某人詳細信息的安全方法嗎?我可以檢查$ _SESSION ['username']是否設置爲驗證用戶是否已登錄?

+1

會話是好的,但我希望你會檢查遠遠不僅僅是你是否在你的會話中設置用戶名。我每次都驗證密碼。這也允許在密碼更改時將某人登出。 – Brad

+0

謝謝你的答案,這就是我需要知道的。不知道爲什麼有人給我投票。我只是想確保這是安全的。 – user1534664

回答

1

嗯,是的。 在服務器端設置會話非常安全,因爲這意味着黑客必須訪問服務器文件,或者在客戶端代碼中找到導致文件重寫的非常可怕的錯誤。

只要做一些研究:會話固定和如何防止它,並嘗試在CMS端使用SSL。

2

會話文件通常純粹保存在服務器上,用戶可直接訪問的唯一東西是會話cookie。該cookie通常也只有會話的ID,沒有別的。

除非惡意用戶以其他方式通過某種方式訪問​​會話存儲系統(文件,數據庫),否則他們無法更改存儲在會話中的任何內容。

0

一般來說,會話​​是安全的。然而,容易受到高舉。 會話由存儲在服務器上的會話ID唯一標識;這是你的服務器和電腦之間的唯一聯繫。 如果有人獲得此ID,那麼他們有權訪問您的會話。

Darius

+0

那就是SSL的作用?如何獲得身份證? – user1534664