首页
学习
活动
专区
圈层
工具
发布

一个拼写错误让整个互联网一起犯错

在 Web 开发的世界里,有这样一个字段——它每天默默地工作着,记录着用户的来源,保护着网站的安全,却因为一个历史性的拼写错误而成为了程序员们茶余饭后的谈资。...流量来源分析 网站运营者可以通过分析 Referer 信息了解: 用户从哪些网站访问过来 哪些页面是主要的流量入口 外部链接的效果如何 用户的浏览路径和行为习惯 2....服务器可以检查 Referer 是否来自允许的域名,如果不是则拒绝请求。 # nginx 图片防盗链配置 location ~* \....example.com;     if ($invalid_referer) {         return 403;     }     proxy_pass http://backend; } 这样就可以检查请求是否来自合法域名...著名的拼写错误 HTTP Referer 存在一个著名的拼写错误:正确的英文单词应该是 "Referrer",但在 1995 年制定 HTTP/1.0 规范时被误写为 "Referer"(少了一个 r)

44800

HTTP Referer 教程

HTTP 请求的头信息里面,Referer 是一个常见字段,提供访问来源的信息。 很多开发者知道这个字段,但是说不清它的具体细节。本文详细介绍该字段。...一、Referer 的含义 现实生活中,购买服务或加入会员的时候,往往要求提供信息:"你从哪里知道了我们?" ? 这叫做引荐人(referrer),谁引荐了你?对于公司来说,这是很有用的信息。...三、Referer 的作用 Referer字段实际上告诉了服务器,用户在访问当前资源之前的位置。这往往可以用来用户跟踪。...它的实现就是基于Referer字段,如果该字段的网址是自家网址,就放行。 由于涉及隐私,很多时候不适合发送Referer字段。 这里举两个例子,都不适合暴露 URL。...php?url=http%3A%2F%2Fexample.com">Example.com 上面网址中,先跳转到/exit.php,然后再跳转到目标网址。

3.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS 中的网络请求 AJAX, Fetch, WebSocket

    它监听readyState属性的变化,而它一共有 5 个值。 0 表示 请求还未初始化,尚未调用 open() 方法。 1 表示 已建立服务器链接,open() 方法已经被调用。...在请求之前和 XMLHttpRequest 出错时它为0。 responseText 属性是实际的数据,它是字符串,如果相应是 JSON 格式,需要用 JSON 的 parse 处理。...lengthComputable 布尔值 表示进度信息是否可用 position 已经接收到的字节数 totalSize 根据Content-Length预期的字节数 跨域 同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互...referrer: 'no-referrer', // no-referrer、client或一个 URL。默认是 client。...Response 实现了 Body(代表响应/请求的正文,允许你声明其内容类型是什么以及应该如何处理。) 它有 9 个属性。

    5K30

    HTTP-REFERER伪造方法

    什么是HTTP Referer 简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理...Referer其实应该是英文单词Referrer,不过拼错的人太多了,所以编写标准的人也就将错就错了。...答案是否定的,因为Gregarius只是负责输出html代码,而对图像的访问是有客户端浏览器向服务器请求的。...实现一般都是通过apache的配置文件,首先设置允许访问的地址,标记下来: # 只允许来自domain.com的访问,图片可能就放置在domain.com网站的页面上 SetEnvIfNoCase Referer...个人感觉现在Rerferer除了用在防盗链,其他用途最多的就是访问统计,比如统计用户都是从哪里的链接访问过来的等等。 ?

    5.4K40

    WEB安全防护相关响应头(下)

    下文中,我们则侧重介绍一些和跨站安全相关的响应头—— 一、Referrer-Policy -- 不要问我从哪里来 “互联网”这个词,顾名思义,“互联”才有意义。...[▲图1.一些做得好的 会和主页面融为一体,如右侧] 在 HTTP 协议里,如果【A资源】发起了对【B资源】的互联请求,表明该请求来自【A资源】的信息会体现在【B资源】的「referer...--- 出于对保护隐私的考虑,Firefox 和 Chrome 等浏览器引入了一套更精确控制浏览器如何发送「referer」请求头的机制,名叫「Referrer-Policy」。...如发起端 URL 为 https://example.com/page.html,实际发送的 referer 请求头里只有 https://example.com/; strict-origin 和 origin...现在的 JavaScript 脚本,不但可以访问和操控页面上的 DOM 元素,还可以和服务器端进行交互,故而它带来的安全隐患也不容忽视。

    3.5K10

    内容安全策略( CSP )

    网站也可以使用 Strict-Transport-Security HTTP头部确保连接它的浏览器只使用加密通道。...比如一个可以上传文件和显示图片页面,应该允许图片来自任何地方,但限制表单的action属性只可以赋值为指定的端点。一个经过恰当设计的内容安全策略应该可以有效的保护页面免受跨站脚本攻击。...可运行脚本仅允许来自于userscripts.example.com。 示例 4 一个线上银行网站的管理者想要确保网站的所有内容都要通过SSL方式获取,以避免攻击者窃听用户发出的请求。...此外,一个报告模式的头部可以用来测试一个修订后的未来将应用的策略而不用实际部署它。...它使用如下策略,该策略禁止任何资源的加载,除了来自cdn.example.com的样式表。

    3.7K31

    图片和视频防盗链简单介绍

    bloglines.com [NC] //这部分是判断是否盗链,如果以上条件都成立(即访问图片的请求,既不是直接输入网址,也不是来自simcole.cn,也不是来自zhuaxia.com,也不是来自google.com...,也不是来自baidu.com,也不是来自bloglines.com 的话),就执行下列转向:   RewriteRule ....通过php直接获取资源,在php中进行拦截 $referer = $_SERVER['HTTP_REFERER']; //HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候...代码内请求伪造referer PHP: $http = new Http("http://www.baidu.com/img/avatar.jpg"); $http->setHeader('Referer...referer: referrer" content="never"> 如果页面中包含了如下 meta 标签,则从当前页面中发起的 http请求将只携带 origin 部分(注

    3.8K71

    Spring Security 之防漏洞攻击

    Cookie,否则HTTP请求将不包含该Cookie Lax:当请求来自同一站点,或者请求来自top-level navigations(❓不太理解)并且请求是幂等时,将包含该Cookie,否则不包含该...CSRF注意事项 登录 为了防止伪造登录请求,登录HTTP请求应该被保护免受CSRF攻击。防止伪造登录请求,以便恶意用户无法读取受害者的敏感信息。...文件上传 保护multipart请求(文件上传)免受CSRF攻击会导致鸡和蛋的问题。为了防止发生CSRF攻击,必须读取HTTP请求的主体以获取实际的CSRF令牌。...对于给multipart/form-data请求进行CSRF保护,有两种办法: 在Body中放置CSRF令牌 在请求主体中包含实际的CSRF令牌。...Spring Security的方法是使用Referrer Policy头,它提供不同的策略: Example 8.

    3.1K20

    Landing Site

    前天写了一篇关于如何增加博客粘性的日志,今天在搜索中到了 BloggingPro China,看到在其页面上,能够显示我是来自 Google 搜索而来自他的网站,并且还推荐几篇类似的文章。...最后在你的 single.php 文件的日志前面加上以下代码: php if (ls_getinfo('isref')) { ?> php ls_getinfo('terms'); ?> You came here from php ls_getinfo('referrer'); ?...> 你可以通过在 Google 中搜索如何增加你博客的粘性,来到来到本站,就可以看到以下效果: 当然你也可以向像我一样对该插件进行些小小的修改,如首先把上面的说明改成中文,第二,如果没有相识的文章就不让其显示...ls_get_delim() 函数中的数组 $search_engines 中添加以下一行: 'baidu.com' => 'wd', 但是 Baidu 搜索过来,显示页面有些问题, 这应该是编码的问题

    35410

    跟我一起探索HTTP-内容安全策略(CSP)

    网站也可以使用 Strict-Transport-Security HTTP 标头确保连接它的浏览器只使用加密通道。...比如一个可以上传文件和显示图片页面,应该允许图片来自任何地方,但限制表单的 action 属性只可以赋值为指定的端点。一个经过恰当设计的内容安全策略应该可以有效的保护页面免受跨站脚本Attack。...示例 4 一个线上银行网站的管理者想要确保网站的所有内容都要通过 SSL 方式获取,以避免Attacker窃听用户发出的请求。...此外,仅报告标头可以用来测试对策略未来的修订,而不用实际部署它。...它使用如下策略,该策略禁止任何资源的加载,除了来自 cdn.example.com 的样式表。

    87820

    从零开始学web安全(4)

    id=123请求也发了,服务器收到请求,发现还带了我的cookie,于是傻傻的认为是我要删这篇文章,就把它删了。。...- referrer校验 - 验证码 - token 王牌一,referrer校验,非常简单,基本就验证一下请求referrer,合法的才给予操作。...比如下面那个post的demo,发现请求来自http://csrf.test,认为是非法操作,于是我的文章就没有被删了。 但是那个get的demo,似乎防范不了?...理论上referrer校验也是可以防范get的,只是这个demo有点特殊,不仅这个删除接口有csrf漏洞,还可以轻松评论任何src的图片。 造成了referrer居然是来自imweb.io。...可惜万事有利必有其弊,你总不能发每个请求都让用户敲一次验证码吧,所以这种一般只在某些特定场景用。 王牌三,token。这个应该是现在比较通用的方案。

    845110

    学习 HTTP Referer

    HTTP Referer 是 HTTP 表头的一个字段,用来表示当前网页是来源于哪里,采用的格式是 URL。我们通过这个 HTTP Referer,可以查到访客的来源。...有同学可能会注意到 Referer “似乎”拼写有误,应该是 “Referrer" 才对,这其实是个历史原因,在早期 HTTP 规范当中就存在的拼写错误,后面为了向下兼容,所以将错就错。..." referrerpolicy="no-referrer">查看链接复制代码到此大家应该对 Referer 有了一个大概的了解,那么 Referer 字段在什么条件下会展示,以及如何去控制 Referer...工作中实际使用的场景:在双品牌“乐彩云”推广中为降低双域名跳转改造成本,运维层面在Nginx添加了一个规则,若访问链接(例如 news.zcygov.cn)的 Referer 包含 lecaiyun.com...add_header Referrer-Policy "no-referrer";复制代码设置完请求头,最终体现在浏览器 Headers 里字段是:Referrer-Policy: no-referrer

    2.2K30

    【基本功】 前端安全系列之二:如何防止CSRF攻击?

    那么问题来了,我们如何判断请求是否来自外域呢?...在部分情况下,攻击者可以隐藏,甚至修改自己请求的Referer。 2014年,W3C的Web应用安全工作组发布了Referrer Policy草案,对浏览器该如何发送Referer做了详细的规定。...如何阻止外域请求 通过Header的验证,我们可以知道发起请求的来源域名,这些来源域名可能是网站本域,或者子域名,或者有授权的第三方域名,又或者来自不可信的未知域名。...防止网站被利用 前面所说的,都是被攻击的网站如何做好防护。而非防止攻击的发生,CSRF的攻击可以来自: 攻击者自己的网站。 有文件上传漏洞的网站。 第三方论坛等用户内容。...对于来自黑客自己的网站,我们无法防护。但对其他情况,那么如何防止自己的网站被利用成为攻击的源头呢? 严格管理所有的上传接口,防止任何预期之外的上传内容(例如HTML)。

    2.1K20

    从零开始学web安全(4)

    id=123请求也发了,服务器收到请求,发现还带了我的cookie,于是傻傻的认为是我要删这篇文章,就把它删了。。...- referrer校验 - 验证码 - token 王牌一,referrer校验,非常简单,基本就验证一下请求referrer,合法的才给予操作。...比如下面那个post的demo,发现请求来自http://csrf.test,认为是非法操作,于是我的文章就没有被删了。 但是那个get的demo,似乎防范不了?...理论上referrer校验也是可以防范get的,只是这个demo有点特殊,不仅这个删除接口有csrf漏洞,还可以轻松评论任何src的图片。 造成了referrer居然是来自imweb.io。...可惜万事有利必有其弊,你总不能发每个请求都让用户敲一次验证码吧,所以这种一般只在某些特定场景用。 王牌三,token。这个应该是现在比较通用的方案。

    39610

    Web应用服务器安全:攻击、防护与检测

    浏览器可以拒绝任何不来自预定义位置的任何内容,从而防止外部注入的脚本和其他此类恶意内容。...) Referrer-Policy: origin //在任何情况下,仅发送文件的源作为引用地址 Referrer-Policy: origin-when-cross-origin //对于同源的请求,...会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源 Referrer-Policy: same-origin //对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息。...//对于同源的请求,会发送完整的URL作为引用地址 Referrer-Policy: unsafe-url //无论是否同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。...我们必须确保用户从全 HTTPS 站点跳转到 HTTP 站点的时候,没有中间人可以嗅探出用户实际的 HTTPS URL,Referrer Policy 设置如下: //HAProxy http-response

    4.7K90

    科普系列——如何解释什么是 AJAX?

    其实简单概括下,AJAX就是一种利用 JavaScript 向服务端发起请求,并获得服务端响应的技术。它的特点是异步请求,局部刷新。...AJAX 解决的问题 我们刚才说过了,AJAX是一种发送请求的技术,那在AJAX被发明前,浏览器是如何请求的呢? 地址栏。...通过该接口,浏览器可以向服务器发送请求并取回所需的数据,并在客户端采用 JavaScript 处理来自服务器的回应。这就是 AJAX 的前身。...(果然生活处处皆学问) 那么我们又该如何在代码中使用这个XHR对象呢?...因此Fetch API横空出世,它旨在修正上述缺陷,它提供了与 HTTP 语义相同的 JS 语法,简单来说,它引入了 fetch() 这个实用的方法来获取网络资源。

    1.1K21

    用PHP是如何做图片防盗链的

    localhost [NC] RewriteRule .* no.png 来自localhost的访问: 来自于其他站点的访问: 至此,关于防盗链的知识我们学完了,但是不急,既然是一个请求头,当然是可以伪造的...2、反防盗链 上面我的服务器配置了图片防盗链,现在以它来讲解反防盗链,如果我们在采集图片的时候,遇到使用防盗链技术的站点,我们可以在采集图片的时候伪造一个Referer头信息。.../Http.class.php';//这个类是我自己封装的一个用于HTTp请求的类 $http = new Http("http://localhost/booledu/http/apple.jpg")...> 不加Referer头信息下载的结果: 加Referer头信息下载的结果: 相应大家看到这,应该能看出来如何反防盗链吧,其实就是加上一个Referer头信息,那么,每个站点的Referer头信息从哪里找呢...这个应该抓包分析就可以得出来了! 未经允许不得转载:肥猫博客 » 用PHP是如何做图片防盗链的

    1.6K30

    面试题:什么是空 Referer,什么时候会出现空 Referer?

    空 Referrer 是指 HTTP 请求头中的 Referer 值为空。...通常情况下,当用户直接在浏览器地址栏中输入 URL 或通过书签或外部链接等方式访问网站时,由于没有跳转来源页面,因此Referrer被设置为空。...需要注意的是,对于某些高安全级别的站点(如银行、商业),管理员可能会限制请求头中 Referrer 的内容或者强制使用 HTTPS 协议,并且只允许同源站点能够获取相关信息。...为了保证应用程序的安全和便利性,在实际开发中,可以采取一些技术方案来规避空 Referrer 带来的问题,包括: 阻止第三方带空 referring:目前大多数 Web 框架、防火墙会禁止空 Referrer...请求,仅允许来自标准 HTTP 页面或 HTTPS 页面的请求。

    52800
    领券