asp.net core安全事项(上)
生活随笔
收集整理的這篇文章主要介紹了
asp.net core安全事项(上)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隱藏web服務端信息
創建一個asp.net core mcv web項目,運行,F12查看返回信息,如下圖,會清晰看到服務端的類型是kestrel.
有時安全檢測要求不能顯示服務端信息,這樣在一定程度上能降低被 攻擊的風險,具體代碼如下:
public class Program{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.ConfigureKestrel(opt =>{//隱藏服務端信息opt.AddServerHeader = false;});webBuilder.UseStartup<Startup>();});}效果如下,kestrel被隱藏起來了。
防止重定向
上面代碼中,一般驗證用戶信息后會跳轉到一個站內頁面,這個時候會帶有returnUrl,這個url如果被篡改成其他站點url,就樣就會把我們引導到其他站點提供授權信息,從而泄露自己的登錄信息,怎么破?如下:
登出,登錄次數限制
有登錄,就要一定要有登出,如果是基于cookie,讓客戶端cookie清除,如果是jwt,token一定要有過期(或服務端維護狀態讓其實效)。這樣可以有效防止授權信息被別人再利用。
另一方面要設計一定時間內登錄錯誤次數鎖定帳戶功能,在一定程度上也能減少被攻破的風險。
(未完待續)
總結
以上是生活随笔為你收集整理的asp.net core安全事项(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读书 | IT人如何直击本质洞察底层逻辑
- 下一篇: 一朝读码深似海,不读源码薪难升!读懂.N