前端技术文章:Stop link from sending referrer to destination

当用户点击链接时,通常会向目标网站发送一个 HTTP 请求。这个请求中包含了referrer header,它用于告知目标网站用户从哪个网站跳转到该网站。

然而在某些情况下,用户并不想将他们的来源网站透露给目标网站,比如当他们访问隐私敏感的网站时。在这种情况下,我们需要一种方法来阻止浏览器发送 referrer header。

如何停止发送 referrer header

我们可以通过两种方式来实现这个目标:

1. 使用 rel="noreferrer" 属性

在HTML的链接标签中加入 rel="noreferrer" 属性可以阻止浏览器发送 referrer header。例如:

-- -------------------------- ---------------------- --------

但是,使用这种方式只能防止 referrer header 被发送到目标网站,而不能完全防止信息泄露,因为部分浏览器仍然会在本地记录 referrer header 的值。

2. 使用 JavaScript 和 Location API

另一种方法是使用 JavaScript 和 Location API 来控制请求头。可以在发送 HTTP 请求之前修改 document.referrer 的值,或者使用 Location API 创建一个新的请求对象,并在其中添加一个空 ReferrerPolicy。例如:

----- -------------- - -
  --------------- --------------
--
---------------------------- ---------------

指导意义

在开发隐私敏感的应用程序时,我们应该尽可能地减少信息泄露的风险。在处理用户的隐私数据时更是如此。

通过使用以上方法之一来阻止浏览器发送 referrer header 是非常重要的,因为它可以帮助我们保护用户的隐私。但是需要注意的是,在某些情况下,禁用 referrer header 可能会对网络分析和网站流量监控造成影响。因此,我们需要在保护用户隐私和保证数据分析两者之间取得平衡。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/27143


猜你喜欢

  • 在 JQuery 中获取触发 onclick 事件的元素

    在前端开发中,常常需要获取触发某个事件的元素。在 JQuery 中,我们可以使用 event.target 属性来获取触发当前事件的 DOM 元素。但是,在涉及到绑定多个元素的相同事件时,event....

    7 年前
  • Backbone.js 路由可选参数

    Backbone.js 是一个轻量级的前端框架,它提供了一系列工具来帮助开发人员构建可扩展和易于维护的单页应用程序。其中包括路由,可以根据 URL 监听浏览器导航,并在特定 URL 和应用程序状态之间...

    7 年前
  • jQuery的.keypress()方法能够同时检测多个按键吗?

    在前端开发中,我们经常需要根据用户的操作响应相应的事件。而当用户按下多个键时,我们是否可以通过jQuery提供的.keypress()方法来检测到这些键呢? .keypress()方法简介 .keyp...

    7 年前
  • 为什么许多网站对 CSS 和 JavaScript 进行缩小但不对 HTML 进行缩小?

    在前端开发中,优化网站性能是至关重要的。这包括从减少 HTTP 请求到压缩和缩小文件大小等方面。然而,您可能会注意到,许多网站倾向于对其 CSS 和 JavaScript 文件进行缩小,而不是对其 H...

    7 年前
  • 如何使用纯 JavaScript 让 HTML 元素可调整大小?

    在前端开发中,我们经常需要让用户可以调整页面上的元素大小,以便更好地适应不同的屏幕尺寸和布局。虽然有很多现成的库和框架可以轻松实现这一点,但是如果你想要更深入地理解如何实现元素调整大小功能,那么本文将...

    7 年前
  • nvd3 piechart.js - 如何编辑 tooltip?

    nvd3 是一个基于 D3.js 开发的可重用图表库,它提供了很多样式和配置选项,可以方便地创建各种类型的可视化图表。Pie chart 是其中一种常见的图表类型,饼图中的每个部分表示数据集合的一部分...

    7 年前
  • 如何在 Node.js 中创建阻塞式的延时函数?

    在 Node.js 中,我们通常使用 setTimeout 函数来实现延时操作。但是,由于 JavaScript 是一门单线程语言,setTimeout 函数是非阻塞式的,即代码会继续执行并不会等待延...

    7 年前
  • Uncaught TypeError: Object.values is not a function JavaScript

    当你在使用 JavaScript 时,可能会遇到类似于 "Uncaught TypeError: Object.values is not a function" 的错误。

    7 年前
  • 使用 jQuery 创建脚本标签

    在前端开发中,我们经常需要动态地创建脚本标签来加载 JavaScript 文件或者执行一些动态生成的脚本代码。那么问题来了,我们能否使用 jQuery 来创建脚本标签呢? 答案是肯定的,通过 jQue...

    7 年前
  • Javascript: 碰撞检测

    在前端开发中,碰撞检测是一项非常重要的任务。它可以用于检测两个或多个物体是否相互接触,并且常常会被应用于游戏和图形化用户界面中。 本文将介绍几种常见的碰撞检测方法,并提供相应的示例代码。

    7 年前
  • 在 JavaScript 中的 for 循环中调用异步函数

    在 JavaScript 中,for 循环是最常见的迭代结构之一。然而,在 for 循环中调用异步函数时,可能会遇到一些问题。本文将介绍如何处理这些问题,并提供示例代码来说明如何使用 Promise ...

    7 年前
  • 在 React.js 中滚动时更新组件样式

    在 React.js 中,我们通常需要根据用户的行为来动态地更新组件的样式。其中一种常见情况是当用户滚动页面时,我们想要根据滚动位置更新组件的外观。在本文中,我将介绍基于 React.js 的实现方法...

    7 年前
  • 用Javascript替换文本节点中的` `

    在前端开发中,我们通常会遇到需要修改文本节点(text node)的内容的情况。但是,有时在文本内容中出现了特殊字符   (non-breaking space),它并不是空格,而是...

    7 年前
  • document.getElementById(id).focus() 在 Firefox 或 Chrome 中无法正常工作

    在前端开发中,document.getElementById() 方法用于获取 HTML 页面上指定 ID 的元素。而 focus() 方法可以使得指定的元素获得焦点,从而响应键盘输入等事件。

    7 年前
  • JavaScript函数和对象

    JavaScript是一种广泛使用的脚本语言,常用于网页交互、动画效果、用户行为追踪等。其中函数和对象是JavaScript开发中最基础和重要的概念之一。 函数 函数是一个可执行的代码块,可以接受参数...

    7 年前
  • Javascript 日期/时间格式化

    在前端开发中,经常需要将日期和时间以特定的格式进行展示。Javascript 提供了多种日期/时间格式化方法,本篇文章将介绍这些方法的用法和注意事项。 Date 对象 在 Javascript 中,可...

    7 年前
  • 纯 JavaScript 是否能实现只读属性?

    在前端开发中,有时候我们需要定义一些只读的属性,这些属性不能被修改。虽然在 ES6 中新增了 const 关键字,可以声明常量,但是常量只能保证变量的引用不变,而无法保证内部属性的值不被修改。

    7 年前
  • 在 Canvas 上使用 addEventListener 监听键盘事件

    Canvas 是 HTML5 提供的一个绘图 API,可以用它来制作各种交互式的游戏和动画。在 Canvas 中监听键盘事件是实现用户交互的基础之一,因为它可以让用户通过按下不同的键盘键来触发不同的操...

    7 年前
  • Change link color of the current page with CSS

    在网站开发中,经常需要通过CSS来修改链接的样式。其中一个很有用的技巧是改变当前页面链接的颜色。 HTML Markup 首先,在HTML中添加class="active"到当前页面链接的标签上,例如...

    7 年前
  • 如何在 JavaScript 弹窗中处理 ESC 键按下事件

    键盘事件是 Web 开发中常用的一种交互方式。在弹出窗口中,处理键盘事件可以增强用户体验并提高交互性。本文将介绍如何在 JavaScript 弹出窗口中处理 ESC 键按下事件,并提供详细的示例代码和...

    7 年前

相关推荐

    暂无文章