我试图为某些操作提供保护,因此除非请求来自某个主机,否则无法访问它。这是示例代码。
public ActionResult test()
{
if (Request.UrlReferrer == null || Request.UrlReferrer.Host != "mydomain.com") { return Content("Blocked!"); }
else { return Content("Authorized!"); }
}
在我进入mydomain.com“在地址栏中键入链接,打开浏览器控制台并键入]之前,一切似乎都工作正常。>
不是要用于此输入的,否则它本来就很脆弱。window.location.href = "https://domainholdingthatacion.whatever/ActionRoute/test"; //trying to get unauthorized access
有效!它进入else分支。我需要您的输入,因为我不知道我是否在错误地使用它,因为Request.UrlReferrer
我试图为某些操作提供保护,因此除非请求来自某个主机,否则无法访问它。这是示例代码。 public ActionResult test(){if(Request.UrlReferrer == ...
UrlReferrer不安全用于授权。任何浏览器或客户端都可以决定将引荐来源网址设置为所需的URL。另外,出于隐私原因,一些浏览器会阻止拒绝遵守此标头(尽管大多数情况下,仅在不同域之间是正确的)。