执行Javascript服务器端

时间:2012-07-12 14:50:30

标签: php javascript node.js obfuscation server-side

我对混淆我的JS代码感兴趣,但我意识到arround论坛它没用。无论如何,我想混淆我的代码。所以我想知道,是否有可能在服务器端执行JS代码(例如在node.js中使用app),只需通过Ajax函数调用上下文(如dom或其他),在服务器端执行,然后将结果返回页面。

对我来说这可能非常有用,可以只显示基本的JS函数,但不是我的应用程序的核心...

也许解决方案已经存在,但我在网上找不到任何东西......

编辑:

我认为使用node.js,存在一个解决方案。我的意思是客户端的一个简单的JS函数,例如:call_func(' function_name',context);用ajax调用服务器端JS调度程序函数,返回包含结果的JS对象。

也许我在做梦? :)

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

您可以在PHP中重写计算,或者如果您需要动态使用它们/获取对DOM的访问权限,您可以使用AJAX在服务器端使用PHP进行计算,然后在不重新加载的情况下接收PHP脚本的输出页。

你可以在这里阅读有关AJAX的内容(我建议使用jQuery,因为它比尝试理解HTTP请求简单得多):

http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

虽然我同意您应该使用服务器端语言并通过ajax从dom获取所需的信息,但您不得不这样做。您可以使用例如服务器模拟服务器上的dom。你会在这里找到jsdom https://github.com/tmpvar/jsdom来获取nodejs。其他语言也有类似的包。

使用nowjs http://nowjs.com/可以实现您梦寐以求的调度。

我对这两种工具都没有经验,所以我无法评论它们的工作情况。

答案 2 :(得分:-1)

AJAX是要走的路。在xhr.send('func=myfunc')中发送功能名称 首先创建一个虚拟div。

<div id="dummy"></div>

然后在js代码中创建一个switch case并调用函数:

switch(<?echo $_POST['func'];?>){  
  case 'myfunc':  
    document.getElementById("dummy").innerHTML=myfunc();  
    break;  
}

然后使用xhr.responseText。

相关问题