0

我是 htaccess 的菜鸟,所以我需要一些帮助!我想拒绝访问一个 js 文件,如果它是从 url 栏前打开的(当我在地址栏中键入http://mysite.com/js/jquery.js时 - 我得到一个 403)但是当网站是由浏览器渲染,正常下载到浏览器。

目前我正在尝试这个

   <Files ~ "(.js|.css)">
    Order allow,deny
    deny from all
    </Files>

但这会阻止浏览器使用 css 和 js,所以我想制定一种规则来让浏览器而不是任何人直接来自 url。在这种情况下可以使用引用者或主机或类似的东西吗?

(注意:我不想阻止客户查看 js 代码,因为他们无论如何都可以这样做,但我有我的理由)

4

3 回答 3

3

这与防止图像盗链相同。请参阅http://altlab.com/htaccess_tutorial.html

IE:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteRule .*\.(js|css)$ - [F]
于 2012-05-18T23:12:54.293 回答
1

在您的 index.php 中设置一个 Cookie 值,该值指示您的 js.php 文件(将您的 js 代码存储在 php 文件中并将其回显到浏览器)如果在您的主页上发出请求。如果未设置 cookie,则发送 404,否则回显 js 代码。

于 2012-05-18T23:21:53.023 回答
0

Reddit 帖子https://stackoverflow.com/a/10660862/4766489 正确答案:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?mysite\.com/ [NC]
RewriteRule .*\.(js|css)$ - [NC,F,L]
于 2017-10-21T13:36:48.417 回答