2014-04-15 110 views
0

在我的web應用程序,我使用的用戶ID作爲登錄SESSION和查看資料。暴露用戶ID是否危險?

Let say 
John's ID is 1 
James's ID is 2 

如果你想查看約翰的形象,它會通過在URL這樣

http://website.com/view-profile?uid=1 

你可以看見,如果你是註冊用戶。

是否有對SESSION和用戶的任何漏洞?

歡迎您提出安全建議。

+2

如果您單擊以查看您自己的SO用戶配置文件,您將看到您的用戶ID也在此處公開。結論:簡單地暴露身份證不是問題。但是我們不可能知道你的代碼是否容易受到任何攻擊。 – Jon

+0

根據你做的東西,這可能是危險的,是的。但它確實不應該如此,如果是這樣,請修復您的系統。 – poke

+0

使用非參數化查詢是一個更常見和更危險的問題。 – Pakspul

回答

2

它是危險的暴露用戶ID?

,如果有對會話和用戶中的漏洞?

目前還不清楚你問什麼,但只要你從PHP 會議獲得用戶ID授權用戶,它是安全的。

+0

在我的搜索概要文件頁面中,我還使用用戶名進行查詢數據庫。那安全嗎? –

0

會話存儲在服務器上。瀏覽器可能與它直接進行的唯一交互是一個包含會話ID的cookie(或者如果cookie被禁用,則使用其他方式)。

如果它讓你感覺更好,在Symfony2的框架存儲整個用戶當用戶登錄會話內部的序列化對象,而安全是他們的使命宣言。

也有其他方法來存儲會話,通常PHP它們存儲爲臨時文件,但它們也可以存儲對數據庫。本質上講,會議對公衆是安全的。

然而關於用戶ID,用戶ID不能(或至少不應該)是足夠的信息,以提供授權,只有一個用戶名和密碼可以做到這一點,並且在創建系統的會話之後不再需要質疑用戶的真實性,因此不需要密碼(甚至用戶名取決於你如何設置)。

+0

在我的搜索配置文件頁面中,我還使用用戶名來查詢數據庫。那安全嗎? –

+0

@ user3431424很好,因爲許多網站使用電子郵件地址作爲用戶名,這些電子郵件地址通常是公開的,但應該可以,但是您應該強制執行強密碼策略,無論如何應該是這種情況。 – Flosculus