如何隐藏用户的源代码中的数据

时间:2013-10-21 12:46:34

标签: javascript html

作为学习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开发的新手,我想知道实现这样的最佳方法是什么。

6 个答案:

答案 0 :(得分:2)

您无法隐藏JavaScript代码。如果您有秘密,请将其保留在服务器上。

答案 1 :(得分:1)

客户端环境中的任何内容都是可读的,除非它是加密的 - 什么不适用于JavaScript。您可以使用服务器端环境来处理该问题,而无需使用 node.js 保留JavaScript,请查看this post

将ajax请求(jQuerypure)用于node.js service或您选择的任何其他服务器端语言,并将这些操作置于用户眼前。这是更安全,更正确,也许只是这样做的方式。

答案 2 :(得分:0)

最安全的方法可能是拥有一个可以通过Ajax调用的服务器端函数来返回链接。

您使用的服务器端代码类型取决于您的偏好。

例如ASP.NET Web ServicePHPASPX Web Methods

以下是使用jQuery的示例Ajax请求代码:

    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.
        }
    })

答案 3 :(得分: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];

答案 4 :(得分:0)

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

答案 5 :(得分:-3)

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