你会如何实现一个全能的消息?

时间:2017-04-12 15:36:34

标签: messaging

我对真正的编程一无所知,而且在与朋友的讨论中遇到了这个问题。

消息是系统的生命线,您将如何实现自我转换消息?

o = { a : 123, dna: function(a){ o.b = 'cxa'; return t(a,b) }

评估通过网络发送的代码的想法并不安全。

无论如何,你怎么看?

1 个答案:

答案 0 :(得分:1)

现有概念/方法

嗯,有JSONP,它可以像你想象的那样(远程执行包含在发送数据和远程状态的函数)。从安全角度来看,它被认为是一个令人讨厌的事情。

此外,浏览器会在大多数人的系统上加载页面时运行<script>标记之间出现的任何内容,这可以转换该页面本身(这就是时尚的“单页”应用程序的工作方式:它们实际创建了一个他们附加的单个HTML元素中的“木偶剧”。

最后,有一些quines,它们是打印自己的源程序,以W.V.命名。奎因。有连续的quines,打印另一个程序的源,打印另一个程序的源,打印另一个程序的源...最终可能会在一些运行后打印原始程序的源,如果这样设计的话

存在多态和变形病毒,它们指的是病毒在部署到目标计算机后如何自我转换。

回想一下,生物系统几乎是你所描述的特征,在系统意义上是不稳定的。从工程角度来看,这使得它们成为可靠设计的不良媒体,这就是为什么你不经常看到它的原因。

实施可能性

  • Javascript:将代码字符串作为有效负载加载轻量级标记器,并使用eval函数。
  • Lisp / R:通过现有数据的反引用和代码生成自由使用部分解除引用(特别是在R中,因为它允许您使用dput等将数据转换为代码。)
  • Elixir:使用不同的Agent设计OODA循环的模拟,并在它们之间传递消息(Elixir模式匹配可能对此有很大帮助)
  • Ruby:Metaprogramming可以带你到任何地方。