Origin 或 Referer 的关系和区别

这篇具有很好参考价值的文章主要介绍了Origin 或 Referer 的关系和区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Origin 或 Referer 的关系和区别

  1. Origin 和 Referer 都可以服务端用来做来源验证,来防止 csrf 攻击,都是浏览器自动带在请求头的
  2. 但是,可以通过 Referrer Policy 来禁止请求携带 referer,【请求头增加字段 Referrer-Policy: no-referrer/origin等】所以服务器验证请求中的 referer 不太可靠
  3. 因此标准委员会又制定了 origin 属性,在一些重要的场合,比如通过 XMLHttpRequest 、fetch 发起跨站请求时,都会带上 origin
  4. Origin 包含协议、主机和端口,不包含路径
  5. Referer 只包含了源页面的 URI,包含路径,而且该字段可能在用户隐私方面存在一些敏感性问题。
  6. Origin 主要用于跨站请求的安全性检查,而 Referer 则是提供请求来源信息的通用手段,可用于日志记录、统计分析等。
  7. 所以对于 csrf 来源验证,服务器的策略是有优先判断 origin;如果请求头中没有包含 origin 属性 ,再根据实际情况判断是否使用 referer 

Origin:

  • 用途: Origin 请求头用于表示一个 URI 的起源,包括协议、主机和端口。
  • 格式: Origin: <scheme>://<host>:<port>
  • 安全性: Origin 是由浏览器自动设置的,它通常用于跨站请求的安全性检查。在跨域请求时,浏览器会检查目标服务器是否允许来自特定 Origin 的请求,如果不允许,浏览器会阻止此类请求。
  • origin的值不能手动修改,不能手动设置都是浏览器自动的

Referer:文章来源地址https://www.toymoban.com/news/detail-814828.html

  • 用途: Referer 请求头用于表示请求的来源页面的 URI。它指明了用户是从哪个页面跳转或提交请求的。
  • 格式: Referer: <origin>
  • 安全性: Referer 是由浏览器设置的,但它不像 Origin 那样用于强制安全性检查。虽然 Referer 也可以在某些场景下用于防范 CSRF 攻击,但它的值可由用户和服务端控制,不是可靠的安全控制手段。
  • 可以手动修改document.write('<meta name="referrer" content="http://example.com">')但是会收到安全限制,不建议

到了这里,关于Origin 或 Referer 的关系和区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git报错 error: cannot lock ref ‘refs/remotes/origin/master‘: unable to resolve reference ‘refs/remote

    使用sourceTree,拉取代码,提示错误: From http://111.11.111.7:10011//cp002000-1/djzcsgaaa/accobbting/yunasdfghtform    6dcfc7d2..55df1ffc  test       - origin/test error: cannot lock ref \\\'refs/remotes/origin/master\\\': unable to resolve reference \\\'refs/remotes/origin/master\\\': reference broken  ! [new branch]        master     - origin

    2024年02月04日
    浏览(51)
  • golang 服务端遇到strict-origin-when-cross-origin,解决跨域整理

    golang 服务端遇到strict-origin-when-cross-origin,解决跨域整理 以下内容由chatgpt中文网 动态生成,助力开发找我 代码汇总:

    2024年01月16日
    浏览(31)
  • git clone -b与git pull origin <branch_name>的区别

    git clone -b 和 git pull origin branch_name 都是用于在 Git 中操作分支的命令,但它们有不同的用途和行为。 这是在克隆仓库时指定要克隆的特定分支的命令。它用于在克隆一个仓库的同时指定要克隆的分支。例如,如果你只想克隆一个特定分支的内容,可以使用以下命令: 这将克隆

    2024年02月12日
    浏览(45)
  • jmeter里如何添加Referer

    按照此实例添加即可。 例如:接口

    2024年02月04日
    浏览(35)
  • Referer的理解及防盗链

            HTTP请求的头信息里面,Referer是一个常见字段,提供访问来源的信息。很多开发者知道这个字段,但是说不清它的具有细节。本文详细介绍该字段。 一、Referer的含义         现实生活中,购买服务或加入会员的时候,往往要求提供信息:“你是从哪里知道的我们

    2023年04月13日
    浏览(26)
  • referer和token谁更安全?

    token安全等级更高,因为并不是任何服务器都可以取得referer,如果从HTTPS跳到HTTP,也不会发送referer。并且FLASH一些版本中可以自定义referer。 但是token的话,要保证其足够随机且不可泄露。(不可预测性原则) referer不是所有服务器都有的,如果协议从HTTPS降级为HTTP,也不会有r

    2024年02月09日
    浏览(36)
  • HTTP请求头referer,防盗链的问题

    项目中有一个查看第三方平台协议的场景。由于协议是第三方提供的,前端需要在用户点击协议名称时,跳转到指定的第三方协议链接页面。最近新对接了个第三方,需要增加他们的协议。 在测试过程中发现个问题:点击跳转连接时,第三方协议链接返回 403 Forbidden ,并抛出

    2024年02月16日
    浏览(57)
  • 微信小程序真机防盗链referer问题处理

    公司使用百度云存储一些资源,然后现在要做防盗链,在CDN加入Referer白名单后发现PC是正常的,微信小程序无法正常访问资源了。然后是各种查啊,然后发现是微信小程序不支持Referer的修改,且在小程序开发工具是Referer是固定https://servicewechat.com/{你的appid}/devtools/page-frame.h

    2024年02月13日
    浏览(29)
  • 从Referer到XMLHttpRequest:探究Web安全中的重要知识点

    目录 Referer 概念 Referrer-policy(可以一定程度上防御CSRF攻击) 同源 iframe sandbox(沙箱): cookie的原理: 如何设置Referrer? 盗链 盗链的工作原理 三种情况下可以引用图片: XMLHTTPRequest AJAX(Asynchronous JavaScript and XML) XMLHttpRequest的实例属性 XMLHttpRequest.readyState XMLHttpRequest.onreadystat

    2024年02月08日
    浏览(37)
  • master、origin master和origin/master

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 指本地分支名 origin指远程名,master指远程仓库中的分支名 两者连起来就是远程仓库中

    2024年02月13日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包