日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net core webApi 参数保护

發布時間:2023/12/4 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net core webApi 参数保护 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Intro

asp.net core data protection 擴展,基于?IDataProtector?擴展的數據保護組件,自動化的實現某些參數的保護

ParamsProtection

ParamsProtection?是為了保護 asp.net core webapi 項目的某些參數而設計的,也可以用來做一定程度上的反爬蟲。

GetStarted

安裝 nuget 包?WeihanLi.DataProtection

通過示例項目查看更多詳細信息

跑起來示例項目,你可以直接在 sample 項目下運行?dotnet run?命令,在瀏覽器中訪問?/api/values?路徑,你會得到類似以下的響應結果

原來的業務代碼里你什么都不需要做,還是直接返回原來的內容即可,原來的返回內容如下:

因為在啟動的時候已經設置了?id?參數應該被保護,所以當你訪問?/api/values/{id}?這個地址的時候,如果沒有設置?AllowUnprotectedParams?為?true?的話,直接使用原始的?int?類型的 id 去訪問就會得到一個 4xx(默認是412) 狀態碼的響應,如果用從?/api/values?返回的 id 的值去訪問就會正常的拿到響應。

除此之外你可以設置被保護的值的過期時間,通過設置一個比較短的過期時間來一定程度上的反爬蟲,有個不太友好的地方就是可能會一定程序上的影響用戶體檢,如果用戶打開一個頁面長期沒有操作就可能會導致某些操作可能會失敗,需要用戶重新操作。

你也可以是?POST?或?PUT?請求中使用被保護的值,如果被保護的值已經過期,你會從服務得到一個 4xx(默認 412) 的響應。

More

你可以設置更多參數來更適合你的使用

你可以改變一些值來改變參數保護模式:

  • 設置?Enabled?為?false?以禁用參數保護

  • 修改?ProtectorPurpose?的值以改變?DataProtector?的 purpose

  • 設置?AllowUnprotectedParams?為?true?以允許原始參數的訪問

  • 設置?InvalidRequestStatusCode?的值來改變不合法參數訪問時響應的 Status Code

  • 修改?ExpiresIn?的值以改變已經保護的參數的值的過期時間

  • 設置?ProtectParams?的值來指定要進行參數保護的參數名稱

Contact

Contact me:?weihanli@outlook.com

原文地址:https://www.cnblogs.com/weihanli/p/webapi-params-protection.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的asp.net core webApi 参数保护的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。