2016-07-24 22 views
2

我正在開發一個社交網絡,我想知道如果在用戶的個人資料頁面中,我可以將用戶標識存儲在數據庫中作爲url中的參數,或者在安全性方面它是一個壞主意嗎?將用戶標識作爲url參數安全嗎?

我想讓網址成爲書籤。我應該把另一件事情,而不是用戶ID?

回答

4

就安全性而言,將用戶標識放在網址中沒有問題。例如,StackOverflow已經做到了這一點:https://stackoverflow.com/users/3477044/aliuk

重要的是驗證當前已通過身份驗證的用戶是否被允許訪問此URL並代表其執行操作。

+0

其他用戶也可以查看此網址,但不會在此處進行任何更改。 –

0

大多數社交網絡我一直在使用,使用用戶名作爲url不id,當然它也影響seo,因爲你有「漂亮的網址」。

安全性實際上取決於你如何編寫你的代碼,比如說有一個頁面可以編輯配置文件,如果你把你的代碼放在這裏: UPDATE .. SET .. WHERE id = $ _GET ['id' ]

毫無疑問,這是危險的,你應該檢查每個用戶的行動,例如張貼/編輯個人資料等,誰是登錄,沒有什麼是對當前的URL標識

0

如果您保護您的網站針對SQL它是安全的注射。 但是,如果違反事件發生,所有用戶都可以使用。只有黑客需要做的事情是找到用戶配置文件獲取他的ID。複製sql注入的輸出。轉到文本編輯器。按ctrl - f並搜索用戶標識。

+0

但是黑客可以使用其他任何數據而不是用戶標識來做同樣的事情,不是嗎? – Aliuk

+0

你的答案缺乏很多。這個問題不僅僅是SQL注入,還包括直接暴露URL中的任何數據庫ID帶來的操作安全問題以及不安全的直接對象引用。 –

相關問題