我是htaccess的菜鸟,所以我想要一些帮助! 我想拒绝访问js文件,如果它是从url bar ex打开的(当我在地址栏中输入http://mysite.com/js/jquery.js时 - 我得到403)但是当浏览器呈现该网站时它被下载到浏览器通常。
目前我正在尝试这个
<Files ~ "(.js|.css)">
Order allow,deny
deny from all
</Files>
但是这会阻止浏览器使用css和js所以我想制定一种规则来让浏览器而不是任何人直接来自网址。在这种情况下,可以使用引用者或主持人或类似的东西吗?
(注意:我不想阻止客户端查看js代码,因为他们无论如何都可以这样做,但我有我的理由)
答案 0 :(得分:3)
这与防止图像热链接相同。请参阅http://altlab.com/htaccess_tutorial.html。
即:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteRule .*\.(js|css)$ - [F]
答案 1 :(得分:1)
在index.php中设置一个Cookie值,表示您的js.php文件(将您的js代码存储在php文件中并将其回显给浏览器)如果在您的主页上发出了请求。如果未设置cookie,则发送404否则回显js代码。
答案 2 :(得分:0)
Reddit帖子https://stackoverflow.com/a/10660862/4766489 正确答案:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(.+\.)?mysite\.com/ [NC]
RewriteRule .*\.(js|css)$ - [NC,F,L]