2015-11-04 103 views
0

我有2個應用程序。一個應用程序執行表單提交(http post)到其他應用程序(這兩個應用程序都是mvc應用程序分別託管在同一站點下)。表單提交是遺留的JavaScript提交。在控制器中將隱藏的變量準備爲htmlstring,並通過控制器的Response.write發佈它。現在,我該如何爲這種情況實施防僞令牌邏輯。是否可以在控制器中調用antiforgerytoken()。請建議。防止ASP.NET MVC中的CSRF攻擊

+0

如果您正在使用java,請檢查此鏈接是否對您有用:https://dzone.com/articles/spring-mvc-flash-attributes – Valath

+0

這些應用程序使用哪些語言和框架/ cms? –

回答

0

我認爲 「MVC應用程序」 指的是ASP.NET MVC應用程序。

有一種大量不同CSRF預防方法,如通過表體,自定義首部或餅乾。在你使用Cookie的情況下將解決你的問題,但你需要找出跨兩個ASP.NET應用程序的cookie共享。 ASP.NET支持cookie的共享與一些配置,細節在這裏http://docs.asp.net/en/latest/security/data-protection/compatibility/cookie-sharing.html

在基本知識;

  1. 生成CSRF令牌。
  2. 設置此令牌餅乾以及隱藏值個屁形式的身體。
  3. 客戶提交表格。
  4. 因爲這兩個應用程序是同一個域下,我們的CSRF令牌cookie將被達到的第二個應用程序。
  5. 簽出Cookie和表單身體具有相同的標記。如果沒有CSRF攻擊,那麼這些值應該是相同的。
+0

對於前兩個步驟,是否可以在控制器中使用內置方法防僞標記。或者我應該用一些散列算法手動編寫代碼 – meenu