http请求头中Referer的作用及危害

一、Referer

Referer是HTTP请求header中的一部分,其表示请求当前资源的客户端来源,当浏览器(或模拟浏览器行为)向web服务器发送请求的时候,头部信息里会携带Referer

例如:在 www.google.com 里有一个 www.baidu.com 超链接,当点击这个链接跳转到baidu的时候,浏览器向baidu发出的请求信息里就有:Referer=http://www.google.com

Referer的正确拼写是referrfer,由于早期的HTTP规范的拼写错误,于是决定将错就错。

1.作用

  • 防盗链:
    比如只允许某台服务器访问我自己的图片服务器资源,则可校验Http请求包中的Referer。判断是不是特定服务器的域名,若不是,则拒接响应。
  • 防止恶意请求:
    对于某些风险较高的文件类型,可使用Referer使得该类型文件只能来自我所指定的网站。

2.空Refer

Referer头部的内容为空的情况:

  • 浏览器内直接输入URL
  • Windows桌面的超链接图标
  • 浏览器内书签
  • 第三方软件内容中的链接跳入

二、Referer的伪造

1.伪造为ip地址

  • 使用Firefox的X-Forwarded-For Header 插件更改ip地址
  • 使用brup拦截请求包,在Proxy里面发送到Repeater,将Http头中的X-Forwarded-For改为想改的ip

2.伪造为URL

  通过brup拦截,再使用Reapter修改Referer为想指定的URL

posted @   凡人的智慧2022  阅读(695)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示