Asp.net

HTTPS 是否可以防止 CSRF 攻擊?

  • October 23, 2020

我正在編寫一個主要由 ajax 驅動的 Web 應用程序,並且正在研究如何保護使用者免受 CSRF 攻擊。我計劃執行使用者登錄的應用程序頁面,以在 HTTPS 模式下完成他的工作。

在 HTTPS 上執行頁面是否可以防止 CSRF 攻擊?

不,在 HTTPS 上執行頁面並不能保護它免受 CSRF 的影響。瀏覽器和伺服器之間的通信是加密的這一事實與 CSRF 無關。

我建議閱讀關於防止 CSRF的 OWASP 指南。

一般的黃金法則是:

永遠不要相信傳入的客戶端請求是合法的。始終保持懷疑並假設請求可能是惡意偽造的。

除了提到的 OWASP 文章之外,很少有具體規則:

  1. 如果您的數據需要身份驗證/授權,請避免使用伺服器上的通用介面,例如 CRUD 介面。易於編碼,難以授權來自客戶的特定請求。相反,提供一個 SOA 風格的介面,其中包含專門用於特定案例的顯式方法,在這些案例中,您可以直接控制請求及其參數。

http://msdn.microsoft.com/en-us/library/ms954638.aspx 2. 即使框架提供了對請求有效性(ASP.NET 視圖狀態)的一些控制,也要再次檢查使用者是否被授權傳遞傳入參數集。

引用自:https://stackoverflow.com/questions/8370723