最近用到域的问题,不是同一主机的请求将不允许请求此页面。

这其实和图片防盗链的本质是一样的。

通过两个属性:由于当时用的aspx视图引擎,所以需要通过HttpContext.Current才能拿到httpcontext对象。

通过Httpcontext.Current.Request.UrlReferrer属性,指的是:是谁来请求。

HttpContext.Current.Request.Url属性,指的是:谁被请求。

如果这两个URI的主机名和端口号一直,则表示来自同一主机。

            //获取有关客户端上次请求的URL信息,该请求链接到当前的URL
//表示是谁去请求
string urlReferrer = HttpContext.Current.Request.UrlReferrer.Host.ToString();
//获取有关当前请求的URL
//表示请求谁
string url = HttpContext.Current.Request.Url.Host.ToString();
Uri.Compare(HttpContext.Current.Request.UrlReferrer, HttpContext.Current.Request.Url, UriComponents.HostAndPort, UriFormat.SafeUnescaped, StringComparison.CurrentCultureIgnoreCase);

  

关于图片防盗链实现的方案:

在项目中,图片的src不要直接写,可以通过一个方法去请求,在后台接受这个请求,

在做一样的判断,如果主机一样则返回正确的图片地址,如果不是则做相应的处理。

下面是官网的信息:

Return Value

Type: System.Int32

An Int32 value that indicates the lexical relationship between the compared Uri components.

Value

Meaning

Less than zero

uri1 is less than uri2.

Zero

uri1 equals uri2.

Greater than zero

uri1 is greater than uri2.

追加:

Uri.Compare的返回值为int类型,

0:表示两个相等。

大于0:表示前者大于后者。

小于0:表示前者小于后者。

最新文章

  1. 用神奇的currentColor制作简洁的颜色动画效果
  2. OpenGL新手框架
  3. x01.os.15: 看上去很美
  4. jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件
  5. 【kAri OJ】wzt的树
  6. Arcgis 10.1 求面里面所包含的点的平均值
  7. 用户名 不在 sudoers文件中,此事将被报告。
  8. tomcat中jsp编译
  9. 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good
  10. Linux crontab命令
  11. sed简单实例练习
  12. hql中的in查询
  13. Service Activity三种交互方式
  14. CMake结合Visual Studio中开发Qt应用程序注意事项
  15. bootstrap面试题
  16. How can I add a site title refiner
  17. python获取自己的环境变量
  18. jsp el函数库
  19. asp.net后台解析JSON,并将值赋给对象
  20. oracle数据同步

热门文章

  1. 移动端iPhone系列适配问题的一些坑
  2. Windows 平台下 LiteIDE 的安装和使用
  3. 【26.09%】【codeforces 579C】A Problem about Polyline
  4. Android——四大组件、六大布局、五大存储
  5. 《深入浅出WPF》笔记——资源篇
  6. DDD实战11 在项目中使用JWT的token 进行授权验证
  7. WPF文字描边的解决方法
  8. Redis (一)Redis简介、安装部署
  9. ImageNet 数据集
  10. device platform 相应的表