簡體   English   中英

JSON安全

[英]JSON Security

Pagemethods和Json有安全隱患嗎?(我不使用cookies)。例如我有一個頁面方法,我發送用戶ID作為參數,但我不想向用戶顯示它。用戶可以從pagemethod獲取用戶ID嗎?

是的,他們可以(見用戶ID)。 用戶可以看到服務器和客戶端之間的任何通信。 看看小提琴手或螢火蟲看看發生了什么。 您可以像處理任何常規的get或post請求一樣對待它。

我知道沒有理由不使用它。 在不知道任何背景的情況下,我無法給出一個明確的答案,我是否會選擇它,但一般來說沒有理由不使用它只是應用相同的安全性,你將用於HTTP獲取和發布請求,如常規表單提交。

它具有與規則GET和POST相同的安全風險,它只是來回發送數據的另一種格式。 如果您使用常規POST,任何人都可以看到用戶ID相同。

因此,如果您不想讓人們搞砸用戶ID,您可以添加一些依賴於用戶ID的加密字符串,以便進行驗證,以便列出許多可能的解決方案之一。

JSON本身沒有安全性,它是一種未加密的數據格式。

JSON可以像頁面一樣使用FormsAuthentication安全性。 如果我不希望最終用戶看到標識符,我通常會做的是在User.Identity.Name中存儲該值(或者我可以用來查找該值的內容)。

這種方法中最復雜的部分是,如果未經過身份驗證,JSON可能不會返回任何內容。 要解決這個問題,我傾向於包含一個未經過身份驗證的頁面,以便讓JSON告訴您用戶是否已登錄。

我在隱藏字段中隱藏了用戶ID參數,只關心在該Process中可以更改它。感謝所有支持

如果用戶標識位於隱藏表單字段中,則它完全暴露給在瀏覽器中查看源代碼的任何人。 他們不僅可以看到userId,還可以看到您如何將其發送到服務器。

通常,您永遠不會信任具有敏感數據的客戶端。 假設他們總能操縱響應。

安全傳遞消息的方法是以字符串的形式為用戶提供一些會話令牌。 應該使用相當大的隨機性生成此會話令牌,並在算法中包含其用戶名。 看看有關md5和鹽漬的資源。 有了這個你給他們的標記,現在的假設是他們無法對內容進行反向工程。 由於他們沒有算法(它位於服務器端),因此他們無法篡改它。 您的服務器必須解密會話令牌以檢索userId。

這本身並不意味着您的應用程序是完全安全的 - 它只能修復潛在的許多問題之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM