【发布时间】:2021-05-26 08:53:14
【问题描述】:
我有一个使用 C# 编写的 ASP.NET Core 5 MVC 开发的应用程序。我正在使用 OTP 验证来启用对以下突出显示的页面的访问:
public const string SessionKeyName = "CurrentOTP";
public IActionResult GenerateOTP(OTPData mydata)
{
.
.
HttpContext.Session.SetString(SessionKeyName, mydata.OTP);
return RedirectToAction("EnterOTP", "Home");
}
[HttpPost]
public JsonResult VerifyOTP(string otp,OTPData mydata2)
{
bool result = false;
if (string.IsNullOrEmpty(HttpContext.Session.GetString(SessionKeyName)))
{
HttpContext.Session.SetString(SessionKeyName, mydata2.OTP);
}
var sessionOTP = HttpContext.Session.GetString(SessionKeyName);
if (otp == sessionOTP)
{
result = true;
}
return Json(result);
}
然而,我的问题是任何用户都可以通过在地址栏中输入完整的 URL 来访问任何网页。如何防止这种情况发生?
【问题讨论】:
标签: c# asp.net-mvc asp.net-core