Javascript 如何通过直接进入浏览器url栏来防止文本或脚本文件被查看/下载?

Javascript 如何通过直接进入浏览器url栏来防止文本或脚本文件被查看/下载?,javascript,html,ajax,webpage,Javascript,Html,Ajax,Webpage,我在JSP文件中使用了一些java脚本代码,但由于我不希望客户端看到我的代码,所以我将其放在codescript.js文件中,并通过ajax将其包括在内,如下所示 $.ajax({ cache: true, dataType: "script", url: "codescript.js" }); 但当我直接访问codescript.js文件时,任何人都可以猜到它存储在当前目录中。只需在url栏中输入文件名即可下载我的文件,如 pathtomysite\codescript.

我在JSP文件中使用了一些java脚本代码,但由于我不希望客户端看到我的代码,所以我将其放在
codescript.js
文件中,并通过ajax将其包括在内,如下所示

$.ajax({
   cache: true,
   dataType: "script",
   url: "codescript.js"
}); 
但当我直接访问codescript.js文件时,任何人都可以猜到它存储在当前目录中。只需在url栏中输入文件名即可下载我的文件,如

pathtomysite\codescript.js

有没有办法阻止客户端轻松访问我的java脚本文件。

您可以通过测试
Referer
头来拒绝直接访问。这基本上应该拒绝直接访问,但它可以被欺骗

RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
RewriteRule "\.(js)$" -   [F]

不,你不能,你唯一能做的就是混淆代码,使其更难阅读。没有其他方法可以阻止直接访问某些文件类型吗?如果该文件可以通过ajax请求访问,那么任何人都可以通过DevTools看到它。保护该文件的唯一方法是像@jcubic comment这样的模糊处理。不管你做什么,我都可以安装像Fiddler这样的工具,并查看你的所有代码。如果希望代码对客户端不可见,请不要使用JavaScript之类的客户端语言。仅使用服务器端技术。