簡體   English   中英

將CSRF令牌傳遞給客戶端應用程序

[英]Passing csrf token to client application

我有一個Web應用程序,它分為兩個單獨的模塊(客戶端和服務器端)。 服務器定義了REST服務,客戶端調用了REST服務來獲取數據。 我想讓服務器免受CSRF攻擊。 因此,任何客戶端POST / PUT / DELETE都要求在標頭中傳遞csrf令牌,並且令牌值應等於會話中保存的csrfToken。 我的問題是,由於CSRF令牌是由服務器生成的,客戶端應用程序如何獲取令牌值?

登錄后客戶端應該發送GET請求,服務器生成csrf令牌並將其存儲為會話屬性,然后作為響應將其發送回客戶端嗎,還是有更好的解決方案?

由您決定是否要使用csrf令牌客戶端嗎?

csrf令牌始終在服務器端后端黑匣子邏輯上的用戶的着陸頁或用戶的第一個ajax請求上創建...

客戶端意味着如果使用jsp,那么您就可以輕松編寫代碼,因為jsp在服務器端,並且它作為程序員知道它的所有優點。

如果在應用程序中,我們使用基於js或js的框架(例如extjs,dojo套件,angularjs,yui或其他任何文件),並且我們的視圖為.html文件,那么我覺得我們可以使用着陸頁....

登陸頁面表示首頁...或者如果我們使用ajax,則當用戶點擊我們的服務器時,用戶向服務器請求的第一個ajax ...

通過第一個ajax請求或登錄頁面,您可以生成一個令牌並將該會話保存為csrf令牌,在該用戶的整個會話之后,您必須通過編寫過濾器來檢查csrf令牌...

在過濾器中必須檢查用戶會話不為空,並且用戶是登錄用戶,並且基於您的應用程序和會話的權限具有csrf令牌...

因此,由於每個新用戶都必須通過您的登錄頁面[登錄頁面]並在服務器端進行一次會話,因此任何虛假請求都不允許,並且您擁有一個安全層

請享用 :)

暫無
暫無

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

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