0

我的网页上有 javascript,但我需要对我的用户隐藏它(我不希望他们能够看到它,因为它包含游戏的一些答案。)

所以我尝试使用 Jquery .load 来隐藏内容(我使用该调用从外部 js 文件加载内容)。但它无法加载。所以我尝试了ajax,它也失败了。

也许问题来自于我试图加载位于我的根目录中的文件,而原始页面位于“root/public_html/main/pages”中:

<script type="text/javascript">
$(document).ready(function() {
    $.ajax({
        url : "../../../secret_code.js",
        dataType: "text",
        success : function (data) {
            $("#ajaxcontent").html(data);
        }
    });
});
</script>

1) 为什么我不能使用ajax 或load 方法从根目录加载文件?2)还有其他方法吗?

PS:我将文件放在根目录中,因此人们无法直接从浏览器访问它...

4

8 回答 8

1

你的系统设置是什么?你在使用 CMS 吗?

即使您在页面加载后将 javascript 添加到页面,使用 firebug 之类的工具的用户也可以查看它。我不认为你正在做的事情真的会保护它。另一种解决方案是您可以缩小和混淆您在生产环境中使用的 javascript。这将产生几乎不可读但功能正常的 javascript 代码。您可以通过许多工具运行代码来缩小和混淆它。这是您可以使用的一种工具:http ://www.refresh-sf.com/yui/

如果这还不够,那么也许您可以将游戏的答案放在服务器端并通过 ajax 提取它们。我不知道你的设置,所以我不知道这对你是否可行。

于 2012-04-20T17:38:05.940 回答
1

1)如果文件不能通过网络浏览器访问,那么它不能通过 ajax 访问(ajax 是网络浏览器的一部分

2)尝试/secret_code而不是../../../secret_code.js

于 2012-04-20T17:27:56.933 回答
0

尝试使用 jQuery 的 $.getScript() 方法加载外部脚本文件,但是,您可以使用 Firebug 或开发人员工具栏轻松查看脚本文件的内容!

于 2012-04-20T17:30:02.870 回答
0

安全第一

你不能用 JavaScript 访问你的根目录,因为人们会读出你的数据库密码,ftp 密码 aso。如果可能的话。

于 2012-04-20T17:30:45.277 回答
0

您只能加载可直接从浏览器访问的文件,例如,http://www.mydomain.com/secret_code.js

如果浏览器不能直接访问,浏览器也不能通过ajax访问。但是,您可以使用 .htaccess 来阻止用户直接打开 js 文件,但这并不能阻止他们在 google chrome 或 firebug 控制台中查看它。

如果您想保密,请不要让它进入浏览器。

于 2012-04-20T17:27:49.360 回答
0

导航到 URL,而不是目录。喜欢

$.ajax({
        url : "http://domain.com/js/secret_code.js",

..
于 2012-04-20T17:27:53.980 回答
0

即使您动态加载内容,使用 firebug、fiddler 或任何类型的代理也很容易查看文件的内容。我建议你使用混淆器。用户将更难找到答案

于 2012-04-20T17:28:07.867 回答
0

看看这个jQuery.getScript()函数,它是为通过 AJAX 加载 Javascript 文件而设计的,应该可以满足您的需要。

于 2012-04-20T17:28:23.373 回答