确定请求是通过浏览器书签/收藏夹还是链接?

2023-11-21

假设我正在一个网站上查看主页:https://whateverxyz.com/index。然后我要么

  • (A) 单击页面 HTML 中的导航链接https://whateverxyz.com/app1.html
  • (B) 单击浏览器书签https://whateverxyz.com/app1.html

服务器能否区分请求是否来自A or B?客户端 JavaScript 可以运行在app1.html分辨其中的不同之处?


引用你的问题:

  • 服务器能否区分请求是来自 A 还是 B?
  • 在 app1.html 上运行的客户端 JavaScript 可以区分吗?

在这两种情况下都无法检测到差异。

我们官方资源怎么说?

引用自 RFC 7231 - 超文本传输​​协议 (HTTP/1.1)

如果目标 URI 是从没有自己的 URI 的源获取的(例如,从用户键盘输入,或其中的一个条目 用户的书签/收藏夹),用户代理必须排除 Referer 字段或使用值“about:blank”发送。

Referer 字段有可能泄露有关用户的请求上下文或浏览历史记录的信息,这是一种隐私 关注引用资源的标识符是否泄露个人信息 信息(例如帐户名)或假定的资源 保密(例如在防火墙后面或安全内部) 服务)。大多数通用用户代理不会发送 Referer 当引用资源是本地“文件”或“数据”时的标头字段 URI。用户代理不得在请求中发送 Referer 头字段 如果引用页面是通过以下方式接收的,则为不安全的 HTTP 请求 安全协议。看部分 9.4出于额外的安全考虑。

了解更多相关信息:

  • 推荐人政策
  • HTTP 引荐来源网址

替代解决方案

但你可以在客户端做一些事情。在页面中https://whateverxyz.com/index您可以用 JavaScript 编写一个侦听器来检测此页面链接上的所有点击。在点击事件上你可以写link URLtime in a cookie, an IndexedDB or a localStorage。然后在页面中https://whateverxyz.com/app1.html你必须阅读这些信息。如果此信息不是未定义的,则它来自链接,而在所有其他情况下,它来自书签(或者可能是在地址栏中提示,或其他)。

查看相关问题:

  • 什么情况下HTTP_REFERER会为空
  • 客户端如何检测页面何时被添加书签?
  • 如何检测链接是否已在用户的书签中?
  • 有没有办法知道有人是否为您的网站添加了书签?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定请求是通过浏览器书签/收藏夹还是链接? 的相关文章

  • React-native:将场景绑定到导航栏

    我正在整理这个提问 回答应用程序 并遇到了这个障碍 我想从导航栏触发场景中的功能 与登录应用程序类似 我在导航栏中有一个用于提交答案的按钮 RightButton route navigator index navState if rout
  • 取消html5浏览器中的单图请求

    我正在动态加载 大 图像以绘制到 html5 画布中 如下所示 var t new Image t onload t src http myurl 但每隔一段时间就会想取消图片请求完全地 我想出的唯一方法是设置src to i e t sr
  • 动态速度计 javascript 或 jquery 插件

    我希望有动态ajax插件在页面上显示速度计 一个想法是我设置一个背景并旋转针 有人知道相关插件吗 这里有一些供您参考 http bernii github com gauge js http bernii github com gauge
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 如何使JavaScript函数在Eclipse“大纲视图”中可见?

    我有这样的代码 但如果它在匿名函数中定义 则无法打开函数大纲 类没有问题 我该如何概述something2 请分享一些提示 我可以将所有函数标记为构造函数 但这是无效的方法 start of track event required deb
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • Chartjs刻度标签位置

    尝试让 Y 轴刻度标签看起来像image https i stack imgur com XgoxX png 位于秤顶部且不旋转 缩放选项当前如下所示 scales yAxes id temp scaleLabel display true
  • JavaScript 代码在不使用 ActiveX 的情况下截取网站屏幕截图

    我有一个用户与之交互的 JavaScript 应用程序 我需要保存当前界面的外观 裁剪出我需要的部分 或者通过指定div只拍摄我需要的部分 然后发送回服务器 显然任何外部服务都无法做到这一点 我需要一个 JavaScript 或Flash
  • 如果数字小于 10,则显示前导零 [重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 相当于 printf string format https stackoverflow com questions 610406 javascript equivalent t
  • 如何将函数内的捕获错误传递给父级

    我有这几行代码示例 想知道下面的逻辑到底如何 try var response child console log why here catch err console log should show this err function c
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an

随机推荐

  • 混合 Android 视图和 GLSurfaceView

    我目前正在开发一款游戏 我不想半途而废 发现我正在做的事情会导致错误 影响性能 这就是我正在考虑的设置方式 首先想要一个带有包含HUD的LinearLayout的LinearLayout 然后是一个GLSurfaceView 然而 我可能在
  • 如何将 URLSessionStreamTask 与 URLSession 结合使用进行分块编码传输

    我正在尝试连接到 Twitter 流 API 端点 看起来像URLSession支持流式传输URLSessionStreamTask 但是我不知道如何使用该 API 我也找不到任何示例代码 我尝试测试以下内容 但没有记录网络流量 let s
  • Xcode 验证无法在 iTunes Connect 中找到应用程序

    我在 iTunes Connect 中添加了一个新应用程序 其状态为 准备上传 并在 Xcode 中为其创建了存档 并使用指定 App Store 作为分发方法的分发配置文件 当我尝试验证它时 我得到 没有找到申请记录 应用程序必须先准备好
  • Xcode DerivedData 文件夹

    我有一个关于理解 Xcode 将我的程序的产品放在哪里的简短问题 我从项目文件夹中完全删除了 DerivedData 文件夹 第一个问题 DerivedData 的实际用途是什么 ModuleCache 到底是什么 但是 在编译时 我发现该
  • MySQL varchar 索引长度

    我有一个这样的表 CREATE TABLE products id int 11 unsigned NOT NULL AUTO INCREMENT name varchar 512 NOT NULL description text PRI
  • 使用 GitHub Actions 自动从远程拉取

    我在 GitHub 上有一个私有存储库 我的目标是每当有新提交时 我们都会在 VPS 上更新存储库 问题在于存储库是私有的并且需要身份验证 我尝试在全局 git 配置中设置我的用户名和密码 但即使这样做之后 它仍然需要身份验证 我自己想出了
  • SQL - HAVING 与 WHERE

    我有以下两个表 1 Lecturers LectID Fname Lname degree 2 Lecturers Specialization LectID Expertise 我想找到最专业的讲师 当我尝试这个时 它不起作用 SELEC
  • 是否可以将列表转换为键的嵌套字典*而不*递归?

    假设我有一个列表如下 mylist a b c d 是否可以从此列表中创建以下字典without使用递归 递归函数 a b c d 对于简单的情况 只需从末尾或开头进行迭代和构建 result for name in reversed my
  • Visual Studio 错误:单击项目并打开“属性”时“对象引用未设置到对象的实例”

    我的 Visual Studio 2013 和 2010 有一个奇怪的行为 我似乎无法修复 我知道这与编程没有直接关系 类似的问题通过代码实现相同的错误消息 所以我假设它是 VisualStudio 中的代码有问题 我的项目是C 每当我单击
  • 如何向 EKEvent 添加一些附加字段

    一种解决方案可能是 创建新模型EKEventExt并在它们之间添加一对一的关系 我不确定这是否可行 因为EKEventExt存储在我的一个 sqlite 中并且EKEvent存储在事件存储中 可以将自定义字段附加到日历格式 例如 iCal
  • “isync”是否会阻止 CPU PowerPC 上的存储加载重新排序?

    众所周知 PowerPC 的内存模型较弱 允许任何推测性重新排序 存储 存储 加载 存储 存储 加载 加载 加载 至少有 3 个栅栏 hwsync or sync 完整的内存屏障 防止任何重新排序 lwsync 防止重新排序的内存屏障 加载
  • MKLocalSearch 不提供与本机 Apple 地图应用程序中的搜索相同的结果

    当我使用相同的字符串在 MKLocalSearch 和 Apple 地图中搜索时 我会得到不同的结果 通常在 Apple 地图中我会得到很多不同的位置 但在 MKLocalSearch 中我只得到一个 苹果地图 我的应用程序使用 MKLoc
  • Quill 编辑器的全屏按钮?

    我正在与 Quill Editor 合作 到目前为止一切都很好 我的问题是 有什么方法可以通过工具栏中的按钮使 Quill Editor 进入全屏 某种无干扰模式 如果不是 我该如何继续自己实施呢 要全屏显示 我认为使用库是最简单的 例如
  • 在scala中访问java基类的静态成员

    我有一些用Java编写的代码 对于新课程 我计划用 Scala 编写 我在访问基类的受保护静态成员时遇到问题 这是示例代码 Java 代码 class Base protected static int count 20 scala 代码
  • 在Windows中转义curl命令

    我正在尝试运行curl我可以从 Windows 的命令行中执行命令 但我怎么也想不出如何逃脱它 我正在执行这个 C WINDOWS system32 gt curl anyauth user user password X POST d r
  • 我可以将本地 Github 存储库与 WAMP localhost 文件夹结合起来吗?

    I have C Users 我的 Documents GitHub对于我的本地 GitHub 存储库 以及C wamp www是我使用 Wampserver 在本地处理项目的地方 与他们一起工作的适当设置是什么 我应该告诉 Git 使用
  • 防止 Laravel 一键多次提交

    在我提出这个问题之前 我使用 javascript 方法来防止在我的刀片模板上进行多次提交 但我知道客户端仍然可能受到攻击 这是我的 JavaScript 代码
  • 在 Inno Setup 安装期间重命名/替换快捷方式

    InstallDelete 部分允许删除文件 但不允许删除图标 唯一支持的类型是文件 我希望它也支持图标 我需要更改与正在安装的程序关联的快捷方式 我可以通过向 Icons 部分添加适当的参数来添加新的快捷方式 例如 维护 但尚未找到删除旧
  • 如何在 IPFS 中重新创建多重哈希的哈希摘要

    假设我像这样向 IPFS 添加数据 echo Hello World ipfs add 这会给我QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u CID 它是 Base58 编码的多重哈希 将其转
  • 确定请求是通过浏览器书签/收藏夹还是链接?

    假设我正在一个网站上查看主页 https whateverxyz com index 然后我要么 A 单击页面 HTML 中的导航链接https whateverxyz com app1 html B 单击浏览器书签https whatev