css禁止点击事件的方法(css鼠标禁用样式)

CSS代码实现用户跟踪及反跟踪方法

css禁止点击事件的方法(css鼠标禁用样式)

跟踪脚本包含记录事件时间和执行操作的代码。它还可用于提取用户的IP地址,用户代理和其他识别信息。

以下是这样一个脚本的PHP示例:

css禁止点击事件的方法(css鼠标禁用样式)

为了正确检测用户操作系统,在这个跟踪中动用了字体检测。例如,通过检测浏览器是否支持Calibri字体系列,就可以判断浏览器是不是在Windows中运行:

css禁止点击事件的方法(css鼠标禁用样式)

下面是虫虫操作后跟踪到的信息的展示页面:

css禁止点击事件的方法(css鼠标禁用样式)

当用户单击该链接时,他们的浏览器会其他网站上的跟踪脚本。由于该行为是通过浏览器完成的,因此网站所有者完全不知道该漏洞。内容安全策略通过设置允许的样式以及来源网站,就可以避免调用非法来源的链接。

禁用内联样式

禁用内联样式是CSP提供的最大安全优势之一。内联样式是直接在HTML文档中声明(或通过JavaScript设置)的样式,而不是从样式表中加载的样式。内联样式,尤其是动态生成的样式或用户创建的样式,非常难以调试和保护。所以CSP通常会阻止所有内联样式,并将那些经过特别批准的内容列入白名单。

以下规则阻止所有内联样式以及外部托管的样式表:

Content-Security-Policy "style-src 'self';"

使用哈希和随机数验证样式

如果阻止内联样式不能禁止,我们仍然可以使用哈希和随机数确保CSS的完整性。

在样式表或内联样式上执行散列函数时,除非样式更改,否则它应该始终返回相同的结果。这对于将某些内联样式和样式表列入白名单非常有用,同时可以验证样式是否未被修改或篡改。

css禁止点击事件的方法(css鼠标禁用样式)

样式表通常托管在第三方服务器上,例如CDN中,这会导致一个新的攻击入口。如果CDN遭到入侵,怎么能阻止攻击篡改托管的CSS呢?

答案是SRI,可以使用资源完整性(SRI)解决此问题。

SRI使用哈希来验证脚本和样式表的内容。计算每个文件的哈希并将其附加到HTML元素的完整性属性。当浏览器下载脚本或样式表时,它会计算其哈希值并将其与存储在属性中的值进行比较。如果匹配,才会加载脚本或样式。

css禁止点击事件的方法(css鼠标禁用样式)

虽然通过CSS跟踪用户的能力并不是什么新鲜事,但它确实需要我们对网络上的隐私和安全性进行不同的思考。CSS是现代网络的基本语言之一,禁用网站的CSS户导致大部分网站无法使用。 Content-Security-Policy是防止XSS攻击和CSS泄露的最佳方法。关注虫虫,浏览更多技术原创文章。

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论