Asp.net MVC CSRF攻擊防禦,添加防僞令牌

第一步:頁面加上令牌

頁面加上@Html.AntiForgeryToken(),它會在頁面生成一個請求令牌,當然cookie也有一個,不需要管它



第二步:請求中帶上令牌

在請求的數據裏面加上這個令牌,可以在from裏面直接加上@Html.AntiForgeryToken(),如果是ajax請求,那就在參數裏面加上這個


題外:

        因爲我接手的是一個已經做得差不多的項目,不可能去每個ajax裏面去加上這個令牌,所以我在分佈頁裏面加上第一步,然後使用一個攔截全局ajax的js,在請求的數據裏面把令牌塞進去,這樣在分佈頁裏面進行了操作,其餘引用這個頁面的都ok了

Ajax-hook 的github地址

 https://github.com/wendux/Ajax-hook

js的下載

https://unpkg.com/ajax-hook/dist/ajaxhook.min.js

第三步:控制器裏面加上令牌校驗

這步就很簡單了,只需要在頭部加上[ValidateAntiForgeryToken]就可以了


官方地址:

https://docs.microsoft.com/zh-cn/aspnet/web-api/overview/security/preventing-cross-site-request-forgery-csrf-attacks

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章