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

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

空 Referrer 是指 HTTP 请求头中的 Referer 值为空。通常情况下,当用户直接在浏览器地址栏中输入 URL 或通过书签或外部链接等方式访问网站时,由于没有跳转来源页面,因此Referrer被设置为空。

例如,在以下两种情形下请求头将不会携带 Referer:

  1. 用户直接在浏览器地址栏中输入 URL 访问一个网站时;
  2. 从 HTTPS 页面跳转到 HTTP 页面时,Referer 会被浏览器设为空。

需要注意的是,对于某些高安全级别的站点(如银行、商业),管理员可能会限制请求头中 Referrer 的内容或者强制使用 HTTPS 协议,并且只允许同源站点能够获取相关信息。

空 Referrer 可以用于某些攻击手段,如 CSS 攻击、URL 记录和统计等,同时也可以用于隐私保护,降低定向广告的精度分析和重复点击猪仔的威胁。

为了保证应用程序的安全和便利性,在实际开发中,可以采取一些技术方案来规避空 Referrer 带来的问题,包括:

  1. 阻止第三方带空 referring:目前大多数 Web 框架、防火墙会禁止空 Referrer 请求,仅允许来自标准 HTTP 页面或 HTTPS 页面的请求。加强对第三方攻击和跨站脚本攻击 CSRF 的防范。

  2. 控制应用程序行为:尝试降低渗透测试的攻击几率,比如将表单提交地址和共享文件链接设为只有页面上专门生成的临时链接才能访问。限制目标的IP来源,采取反垃圾邮件策略等技术手段。

综上所述,空 Referrer 不是一种武器化“伪造”,而是一个值得警惕的安全隐患。在日常 应用中寻找技术手段去辅助已有的鉴定机制,是网站管理者保证网站完整性、后端服务安全运作、确保用户数据安全必不可少的措施。

猜你喜欢

转载自blog.csdn.net/qq_51447496/article/details/131141700