2

好了朋友们。我和一些朋友构建了一个 Web 应用程序,它有点复杂,花了我们一些时间来构建。它完全使用 JavaScript 构建

现在应用程序有一些我们不想轻易与世界共享的功能(查看源代码)。

该应用程序通过向算法发送输入并接收该算法的输出并将其显示在画布上来工作。(这就是所有功能的工作方式:))

好吧,我对 node.js 了解不多,但从我听说过它的服务器端 JavaScript 来看。这是否意味着我可以在服务器端传输功能并使用 POST-GET 发送输入并接收输出?所有这些都没有任何人都可以轻松看到该特定功能的源代码?

请不要开始谈论我应该如何更担心把事情做得更好而不是担心我们工作的安全。我已经知道这一点,因此至少暂时将我的问题视为一种免费的保障措施。

混淆不是一个非常具体的选择,因为许多开发人员对代码进行去混淆只是为了好玩。

这个应用程序不像一只带着金蛋的母鸡,我对此并不夸大其词,但我现在只是在脑海中有这个问题,所以我只是在这里拍摄它以了解未来的工作方式。

多谢你们!

4

1 回答 1

6

如果你担心保护你的超甜超级密码,你可以托管你的应用程序并使用一个叫做 RPC 的东西。偏僻的。程序。来电。

看看这个小家伙
https://github.com/deoxxa/pillion

像 1-2-3 或 ABC 或蛋糕或脱衣舞娘或其他任何容易的东西一样简单

% npm install pillion burro && echo omg that was so easy

免责声明

我即将公开一个greeting向我们的客户打招呼的超级秘密功能。这是超机密的知识产权,不应与互联网上的任何人共享。


您可以在服务器上使用类似的东西提供所需的函数调用

// server.js
var net = require("net"),
    burro = require("burro"),
    pillion = require("pillion");

var server = net.createServer(function(_socket) {
  var socket = burro.wrap(_socket),
      rpc = new pillion(socket);

  rpc.provide("greet", function(name, cb) {
    cb("hi there, " + name);
  });
});

server.listen(3000);

然后在客户端

// client.js
var net = require("net"),
    burro = require("burro"),
    pillion = require("pillion");

var _socket = net.connect(3000),
    socket = burro.wrap(_socket),
    rpc = new pillion(socket);

rpc.callRemote("greet", "friend", function(res) {
  console.log(res); // prints "hi there, friend"
});
于 2013-06-13T05:57:35.127 回答