我们在 HTML、PHP 页面中链接 CSS 和 JS 文件是很常见的。我们可以阻止直接从浏览器打开 CSS 和 JS 文件吗?由于任何人都可以查看源代码,因此他/她可以通过了解路径来打开这些文件。我们如何才能实现阻止这些文件?
4 回答
您需要设置您的 Web 服务器以仅在您的主机(查看 http 标头)引用时为静态内容(js、img、css)提供服务,但这不会完全阻止用户这样做。至于php
用户看不到它,它在服务器上运行,并且大部分时间都会输出 inert html
。
Referer
基本块将强制浏览器在访问文件时发送有效的标头。这可以通过一些简单的 .htaccess 来完成:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !your\.domain\.here [NC]
RewriteCond %{REQUEST_FILENAME} \.(css|js) [NC]
RewriteRule .* - [L,F]
然而,这不是一个好主意,因为它很容易伪造引荐来源网址,或者添加到页面的链接以便浏览器自然发送它。此外,一些浏览器只是不显示引用标题。
浏览器必须能够访问这些文件才能正确显示页面。您可以通过像缩小这样的基本方法,或者像我如何混淆(保护)JavaScript 那样更复杂的方法来混淆 JS?
使用 CSS,您可以尝试类似的方法。
查看以下资源,它们可能会有所帮助。
http://www.iwebtool.com/html_encrypter
http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php
http://www.n1studios.net/tutorials/php/css-file-protection.html
所有这些都以某种方式存在,并且总有一种方法可以阅读它们。你只能让它们难以阅读