2013-04-10 35 views
-1

在基於用戶的網站中,網站使用類似「logout.php」的頁面非常普遍,我甚至在我自己的項目中使用它們,但現在我想知道爲什麼。所以我的問題是:使用專用文件註銷用戶有什麼特別的優勢嗎?這豈不是更加有組織任何適當類中只創建一個方法,如:有專門的註銷頁面的原因

下面是用PHP編寫的(這是類似於我已經開始使用)爲例:

public class Admin { 

    private function logout() { 
     $_SESSION[ADMIN_ACCESS_KEY] = null; 
     unset($_SESSION[ADMIN_ACCESS_KEY]); 
     return ($_SESSION[ADMIN_ACCESS_KEY]) ? false : true;  
    } 

} 

這個函數會被一些$ _POST或$ _GET變量觸發,或者以其他方式觸發。

我唯一的猜測是爲什麼它是如此受歡迎(谷歌,Facebook等,最後我做了這個檢查)使用單個專用文件的註銷過程,它可以簡單地引導用戶到頁面(logout.php ),無論如何,只要頁面加載並正確執行,它們將被註銷。你能想到兩種方法都有什麼好處嗎?

+0

'PHP框架'使用'方法'註銷用戶。 – 2013-04-10 06:20:39

+0

@YogeshSuthar哪個框架? – 2013-04-10 06:21:24

+1

也許所有的人,關鍵是 - 你會寫這個方法和存儲在任何你想要的,只是爲了更好地描述,「website.com/logout」這裏是註銷是一種控制器的方法,如「用戶」設置路由到他,檢查什麼是MVC,並開始我推薦CodeIgniter框架,他對新編碼人友好 – MyMomSaysIamSpecial 2013-04-10 06:22:37

回答

1

這不一定是它自己的文件。在大多數情況下,該網站正在運行一個MVC,其中url參數被解析爲類方法。因此,儘管您正在訪問host.com/account/logout - 您只需簡單地以最簡單的方式從account類(以其最簡單的形式)調用logout()方法即可。

你會認爲這可以通過在客戶端刪除cookie來完成,但最好的做法是也銷燬服務器存儲的會話,這樣任何人都無法恢復(比如攻擊者)

0

我能想到的最大優點是它允許開發人員保留<a href="logout.php">logout</a>類型的註銷按鈕,這些按鈕不依賴於jquery或任何其他客戶端JavaScript來註銷。您只需將它們重定向/鏈接到另一個頁面,該頁面負責刪除其會話數據。

它只是一個簡單而簡單的URL。有時候人們甚至更喜歡在URL中輸入它,我知道我是這樣做的!