Ben*_*ack 6 html javascript css php .htaccess
这是我的目录,如下所示:
index.html中的内容:
<html>
<body>
<script src="data.js" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我不希望用户data.js通过直接链接看到我的内容,例如www.sample.com/data.js
但data.js仍然允许来自index.html
我在.htaccess中尝试过:
deny from all
Run Code Online (Sandbox Code Playgroud)
要么
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC]
RewriteRule \.(gif|jpg|css|js|png)$ - [F]
Run Code Online (Sandbox Code Playgroud)
但是它也总是阻止从index.html访问。
谢谢。
我不希望用户通过直接链接(例如www.sample.com/data.js)查看或下载我的data.js。
JS将在客户端呈现,即无论您采取什么保护措施,它都将下载到缓存中。
我的提示很容易被绕过,但如果不小心,我们可能会被困住。
您可以使用 javascript 替换或删除脚本标记,以将其隐藏在页面的实时视图中。但是如果你直接观看网络,你可以很容易地看到javascript文件/代码。
<div id="RemoveMe0">
<script type="text/javascript">
//This code it is hidden to live view.
var my_var = 5 + 5;
$('#RemoveMe0').remove();
//or document.getElementById("RemoveMe0").innerHTML = "";
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
对于包含 javascript :
<div id="RemoveMe1">
<script type="text/javascript" src="Javascript/MyJS.js"></script>
<script>
//Your include it is hidden to live view.
$('#RemoveMe1').remove();
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
将文件放入 HTML 文件(myfile.js 到 myfile.html)中,就像这样在直接视图中您可以执行 JavaScript 函数。
function Hello() {
alert("Hello");
}
Hello();
//<script>document.body.innerHTML = "";</script>
Run Code Online (Sandbox Code Playgroud)
或者,如果您不想重命名文件,可以使用 .htaccess 文件来修改文件头。
AddType text/html .js
Run Code Online (Sandbox Code Playgroud)
您可以使用这样的工具: