程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> .NET添加時間戳防止重放攻擊

.NET添加時間戳防止重放攻擊

編輯:ASP.NET基礎

如過客戶端在向服務端接口進行請求,如果請求信息進行了加密處理,被第三方截取到請求包,雖然第三方無法解密獲取其中的數據,但是可以使用該請求包進行重復的請求操作。如果服務端不進行防重放攻擊,就會參數服務器壓力增大,數據紊亂的後果。而使用添加時間戳的方式可以解決這一問題。

private readonly string TimeStamp = ConfigurationManager.AppSettings["TimeStamp"];//配置時間戳
    [HttpPost]
    public ActionResult TestApi()
    {
        string RequestTime = Request["rtime"]; //請求時間經過RSA簽名
        try
        {
          //請求時間RSA解密後加上時間戳的時間即該請求的有效時間
          DateTime Requestdt = DateTime.Parse(RSACryptoProvider.Decrypt(RequestTime, RSA_Keys.Private)).AddMinutes(int.Parse(TimeStamp)); 
          DateTime Newdt = DateTime.Now; //服務器接收請求的當前時間
          //if 請求的有效時間 < 現在服務器接受請求的時間 即該請求失效
          if (Requestdt < Newdt)
          {
            return Json(new { success = false, message = "該請求已經失效" });
          }
          else
          {
      //進行其他操作
      }
        }
        catch (Exception ex)
        {
          return Json(new { success = false, message = "請求參數不和要求" });
        }
    }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved