首页 web前端 css教程 我学会了爱相同的原产政策

我学会了爱相同的原产政策

Apr 01, 2025 am 04:55 AM

我学会了爱相同的原产政策

今年,我与Noam Rosenthal合作,为新的Web平台功能提供标准化:动态调整图像大小和分辨率。成功!但是,旅程是一个陡峭的学习曲线。

虽然我预计浏览器反馈和无法预料的技术障碍等挑战,但我低估了对网络安全和隐私原则的影响。我先前对这些原则的理解不足。

我们的目标是修改图像的默认显示大小。默认情况下,800x600图像以800x600 CSS像素呈现。这是其内在尺寸(或自然尺寸),默认密度为1倍。

在没有CSS或HTML的高,低或可变密度图像时,出现了挑战。对于我的雇主Cloudinary等图像主机来说,这是一个普遍的需求。

我们涉及的解决方案:

  1. 浏览器在图像资源中读取和应用元数据以声明预期的显示尺寸和分辨率。
  2. 默认的浏览器尊重此元数据,通过CSS( image-resolution )或标记( srcsetx描述符)覆盖。

这似乎是听起来 - 灵活的,并建立在现有模式的基础上。但是,HTML规格编辑安妮·范·凯斯特(Anne Van Kesteren)拒绝了它,理由是违反了同基因政策(SOP)。图像方向也需要重新评估。通过CSS/HTML违反SOP来切换EXIF元数据效应的能力。

我对SOP的最初理解仅限于CORS错误。现在,它阻碍了一个重大项目。我必须学习!

我的关键要点:

  • SOP不是一个规则,也不是仅关乎CORS错误。
  • 这是一种不断发展的哲学,不一致地实施。
  • 核心原则是Web安全性和隐私边界是由起源定义的。共同的起源意味着不受限制的互动;否则,适用限制。
  • 允许许多交叉互动。网站通常可以跨起源(POST请求)和嵌入交叉原始资源(IFRAMES,图像)写入。但是,在JavaScript中阅读跨原生物资源需要明确的许可(CORS)。
  • 至关重要的是,防止交叉读取可以保护用户隐私。每个用户都看到一个个性化的网络,受cookie和本地环境的影响。允许网站通过用户的浏览器读取其他网站的数据将是一个主要的安全缺陷。

SOP主要涉及防止跨原生蛋白读取的问题。默认情况下,通常允许其他跨原生蛋白动作。

图像大小/分辨率问题:

想象一下https://coolbank.com/hero.jpg ,根据用户登录状态返回不同的内容。登录版本可能包含EXIF分辨率信息,而已登录版本则没有。恶意演员可以嵌入此图像,检查其内在尺寸(带有和不带EXIF),推断登录状态以及潜在发射网络钓鱼攻击。

尽管由于CORS而无法访问像素数据(由于CORS),但演员跨越了起源 - 违规。

我们的解决方案:在跨原始环境中,始终应用EXIF修改,使信息无法理解。具有EXIF指定尺寸的图像始终会根据该尺寸呈现,而不管CSS替代如何。

了解SOP阐明了其他Web安全概念:

  • 跨站点伪造(CSRF)利用了跨原始写入的默认津贴。
  • 内容安全策略(CSP)控件允许嵌入,解决跨站点脚本(XSS)漏洞。
  • COP,COEP,CORP和CORB旨在消除交叉互动,解决SOP实施中的不一致并减轻Specter等脆弱性。

简而言之:

  • 基于基于原点的互动限制,网络安全性和隐私是可靠的。
  • 默认情况下禁止使用交叉读取以保护用户隐私。
  • 任何SOP漏洞,无论多么小,都是安全风险。

我的2020年经验强调了SOP的重要性以及对严格的Web安全实践的需求。更安全,更安全的未来需要坚定地辩护这些原则。

以上是我学会了爱相同的原产政策的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom 每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom Apr 17, 2025 am 10:55 AM

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

带有HTML对话框元素的一些动手 带有HTML对话框元素的一些动手 Apr 16, 2025 am 11:33 AM

这是我第一次查看HTML元素。我已经意识到了一段时间,但是尚未将其旋转。它很酷,

纸张形式 纸张形式 Apr 16, 2025 am 11:24 AM

购买或建造是技术的经典辩论。自己构建东西可能会感觉更便宜,因为您的信用卡账单上没有订单项,但是

'订阅播客”链接应在哪里? '订阅播客”链接应在哪里? Apr 16, 2025 pm 12:04 PM

有一段时间,iTunes是播客中的大狗,因此,如果您将“订阅播客”链接到喜欢:

它全部都在头上:管理带有React头盔的React Power Site的文档头 它全部都在头上:管理带有React头盔的React Power Site的文档头 Apr 15, 2025 am 11:01 AM

文档负责人可能不是网站上最迷人的部分,但是其中所处的内容对于您的网站的成功也一样重要

托管您自己的非JavaScript分析的选项 托管您自己的非JavaScript分析的选项 Apr 15, 2025 am 11:09 AM

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)

See all articles