我正在开发一个 ASP.NET MVC 项目。我有一个具有静态 base64 图像的动作。
我希望此操作仅在从其他位置调用时才呈现正确的图像myproject/allowedController/allowedAction
显示不同的图像。
我还想限制是否有人在我的网站上登录并直接打开图像 url,但推荐人总是返回为空。
我试过这段代码:
string host = Request.ServerVariables["HTTP_REFERER"].ToString().Replace("http://", "").Replace("https://", "").ToLower();
//string host = Request.UrlReferrer.Host.ToString().Replace("http://", "").Replace("https://", "").ToLower();
string localPath = Request.UrlReferrer.LocalPath.ToString().ToLower();
if (host != "www.mydomain.com")
{
throw new Exception("unauthorized request code 1");
}
if (!(localPath.StartsWith("/allowedController/allowedAction")))
{
throw new Exception("unauthorized request code2");
}
主机总是抛出错误
你调用的对象是空的