-1

作为一个学习 Web 开发的辅助项目,我正在用 Javascript 编写一个 Web 应用程序,它允许我的同学在搜索字段中输入我们的 Class ID #。如果他们输入了正确的班级 ID,他们将自动被重定向到我们的 Google 群组页面。我看到的唯一问题是,由于我正在为我正在学习的不同课程运行多个 Google 组,所以我不知道如何隐藏 javascript 代码。

Example in Pseudocode: 
If (input === 12345){
  redirect to (LinkToClass1GoogleGroupsPage.com)}
Else If (input === 12344){
  redirect to (LinkToClass2GoogleGroupsPage.com)}

这里的问题是,如果他们右键单击并查看源代码,他们将清楚地看到我正在寻找的输入。我是 Web 开发的新手,我想知道实现这样的东西的最佳方法是什么。

4

6 回答 6

2

您不能隐藏 JavaScript 代码。如果您有秘密,请将其保存在服务器上。

于 2013-10-21T12:48:54.103 回答
1

客户端环境中的任何内容都是可读的,除非它是加密的——这不适用于 JavaScript。您可以使用服务器端环境来处理这个问题,而无需将 JavaScript 与node.js一起使用,请看这篇文章

对node.js 服务或您选择的任何其他服务器端语言使用 ajax 请求(jQuerypure),并使这些操作远离用户的视线。这是更安全、正确且可能唯一的方法。

于 2013-10-21T13:00:38.163 回答
0

Probably the most secure way for this to be done would be to have a Server Side function that can be called via Ajax to return the link.

What type of Server Side code you use depends on your preferences.

For example ASP.NET Web Service, PHP, ASPX Web Methods.

Below is example Ajax Request Code using jQuery :

    var o = new Object();
    o.ID = input;

    var x = JSON.stringify(o);

    $.ajax({
        url: 'SOME URL', //Path to the Server Side function (i.e. Php / ASPX Web Method / Web Service)
        type: 'GET',
        dataType: 'JSON',
        contentType: 'application/json;charset=utf-8;',
        data: x,
        success: function (data) {
            //Method returned without issue
            redirect to (data.d)
            //data is a JSON object that contains a "d" property, if your function returns a string then d will be the value of the string.
        },
        error: function (ajaxrequest) {
            //Ajax call received an error.
        }
    })
于 2013-10-21T12:51:21.423 回答
0

这还不能完成。HTML5 将来可能会有 DRM 实现,但这也将取决于选择启用此功能的浏览器(例如,Mozilla 反对它)。

于 2013-10-21T13:18:11.020 回答
0

除非您使用服务器端语言进行重定向,否则您无法从字面上隐藏 JavaScript 中的数据。

但是,您可以做的是混淆您的代码,有一些工具可以帮助您做到这一点。

http://javascriptobfuscator.com/

"LinkToClass2GoogleGroupsPage.com"

结果是

var _0x2ec6= ["\x4C\x69\x6E\x6B\x54\x6F\x43\x6C\x61\x73\x73\x32\x47\x6F\x6F\x67\x6C\x65\x47\x72\x6F\x75\x70\x73\x50\x61\x67\x65\x2E\x63\x6F\x6D"];_0x2ec6[0];
于 2013-10-21T12:54:12.500 回答
-3

禁用右键单击和 ctrl 按钮,这就是你所能做的!:D

于 2013-10-21T12:53:57.477 回答