网站相册优化,平面设计师的网站,郑州小程序开发制作,六类网线制作写在前面
为预防钓鱼网站的常用套路#xff0c;在进行 Web 应用程序的开发时#xff0c;原则上应该将所有由用户提交的数据视为不可信。如果应用程序中包含了基于 URL 内容重定向的功能#xff0c;需要确保这种类型的重定向操作只能在应用本地完成#xff0c;或者明确判断…写在前面
为预防钓鱼网站的常用套路在进行 Web 应用程序的开发时原则上应该将所有由用户提交的数据视为不可信。如果应用程序中包含了基于 URL 内容重定向的功能需要确保这种类型的重定向操作只能在应用本地完成或者明确判断其重定向到的是已知 URL绝不能是 querystring 中可能包含的任何 URL。
在 ASP.NET Core 的 MVC基类中就提供了两种判断是否为本地URL的方法这边做个记录
两个方法分别为LocalRedirect 和 IsLocalUrl 。
代码实现
public ActionResult Index(){return Content(Index);}public IActionResult SomeAction(string redirectUrl){return LocalRedirect(redirectUrl);}private IActionResult RedirectToLocal(string returnUrl){if (Url.IsLocalUrl(returnUrl)){return Redirect(returnUrl);}else{return RedirectToAction(nameof(WeatherForecastController.Index), WeatherForecastController);}}
调用示例