javascript - 避免从其他网站加载我的 js/css 文件

标签 javascript css performance permissions

我正在开发一个 Java EE 应用程序(JSF + Richfaces + Tomcat)。

我想做的是不允许其他网站使用我的 js/css 文件。

例如,网站 www.other-domain.com 可以使用以下内容:

<img src="http://www.my-domain.com/ph/hello.jpg"/>

我想避免它(它会使我的服务器重载)

有没有办法避免将我的 js/css/photos 文件加载到其他域?

最佳答案

TL;DR:没有万无一失的方法来做到这一点(但如果您可以忍受误报和误报,那么这是可行的)。

您可以通过脚本提供 JS 和 CSS,并检查 HTTP 请求是否具有来自您的域的 Referer 字段 - 这将防止大多数所谓的“热链接”。如果你想变得邪恶,你可以提供不同的 JS/CSS 文件,例如显示“请勿热链接”消息的消息 - 请注意,这将显示给其他网站的用户,而不是那些构建它的人。

请注意,尽管大多数人不会弄乱该 header ,但有些人完全将其关闭,某些 AV/防火墙套件会删除它们,并且欺骗是微不足道的。如果您可以接受某些人会看到您的网站,因为它看起来没有 JS 和 CSS,那么您可以这样做。

无论哪种方式,您的网站仍然必须响应这些“热链接”请求,因此您不会立即看到带宽/处理节省 - 只有在人们(希望)停止热链接到您的文件后您才会看到它们(因为这会给他们带来不便)。

关于javascript - 避免从其他网站加载我的 js/css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139216/

相关文章:

javascript - 动态数组创建尝试将值动态插入数组后不起作用

javascript - 合并标题并针对每个页面进行修改

html - 在显示表行时更改隐藏表行中表数据的样式

php - 带子查询的慢 MySQL 查询

python - 快速查找数组中所有元素的总和小于限制的索引

javascript - 在静态网站中加载数据时增加网站加载时间

javascript - 无需编译的 TypeScript 输出文件

javascript - 为什么我的removeEventListener 不起作用?

css - SVG 数据图像不能用作伪元素中的背景图像

css - Scala.js - 将 css 文件的内容注入(inject)内联 &lt;style&gt; 标签