【发布时间】:2014-01-22 18:37:44
【问题描述】:
这是我的目录的样子:
- index.html
- data.js
- .htaccess
index.html 中的内容:
<html>
<body>
<script src="data.js" />
</body>
</html>
我的问题是:
我不希望用户通过
www.sample.com/data.js等直接链接看到我的data.js但
data.js仍然允许来自index.html的访问
我在 .htaccess 中尝试过:
deny from all
或
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC]
RewriteRule \.(gif|jpg|css|js|png)$ - [F]
但它也总是阻止来自 index.html 的访问。
谢谢。
【问题讨论】:
-
不可能。这不是互联网的运作方式。无论您发明什么解决方案都将很容易绕过。
-
link 有点不同,他不想访问那个文件,我希望我的 index.html 仍然可以访问。
-
我告诉你,那是不可能的。用户“直接”访问文件和通过 index.html 间接访问文件之间没有区别。你不能阻止一个而允许另一个。
-
有什么方法可以通过思考 php 或其他方法来做到这一点,因为我真的需要它。
-
否。 不可能的哪一部分你没有得到?充其量,您可以混淆您的代码以降低其对人类的可读性,但您不能防止人们看到它。互联网上的任何网站都没有这样做。不知何故,尽管有这种“限制”,互联网仍继续发挥作用。如果一个 JavaScript 文件可以被浏览器访问,那么它就可以被人类阅读。故事结束。
标签: javascript php html css .htaccess