如过客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,虽然第三方无法解密获取其中的数据,但是可以使用该请求包进行重复的请求操作。如果服务端不进行防重放攻击,就会参数服务器压力增大,数据紊乱的后果。而使用添加时间戳的方式可以解决这一问题。 1 ...
如过客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,虽然第三方无法解密获取其中的数据,但是可以使用该请求包进行重复的请求操作。如果服务端不进行防重放攻击,就会参数服务器压力增大,数据紊乱的后果。而使用添加时间戳的方式可以解决这一问题。
1 private readonly get='_blank'>string TimeStamp = ConfigurationManager.AppSettings["TimeStamp"];//配置时间戳 2 [HttpPost] 3 public ActionResult TestApi() 4 { 5 string RequestTime = Request["rtime"]; //请求时间经过RSA签名 6 try 7 { 8 //请求时间RSA解密后加上时间戳的时间即该请求的有效时间 9 DateTime Requestdt = DateTime.Parse(RSACryptoProvider.Decrypt(RequestTime, RSA_Keys.Private)).AddMinutes(int.Parse(TimeStamp)); 10 DateTime Newdt = DateTime.Now; //服务器接收请求的当前时间11 //if 请求的有效时间 < 现在服务器接受请求的时间 即该请求失效12 if (Requestdt < Newdt)13 {14 return Json(new { success = false, message = "该请求已经失效" });15 }16 else17 {18 //进行其他操作19 }20 }21 catch (Exception ex)22 {23 return Json(new { success = false, message = "请求参数不和要求" });24 }25 }
原标题:添加时间戳防止重放攻击
关键词:时间
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。