使用数学解释器有潜在危险吗?
Can using a math interpreter be potentially dangerous?
我希望用户能够在我的程序中编写他们自己的数学函数。这些功能可能会与其他人共享,并且 运行 在他们的机器上本地共享。代数是图灵完备的。这是否意味着我应该警告我的程序的用户有关 运行ning 数学的潜在危险?对不起,如果这是一个愚蠢的问题:)
编辑:
我正在制作一本简单的日记,但条目具有动态计算的属性。我正在考虑将 bc 用于 运行ning 用户定义的函数。如果表达式没有结束,为用户修复问题是相当容易的,因为他们可以在程序之外修改表达式。但是假设用户 A 向用户 B 发送了他们的日记。我应该警告用户 B 打开他们的日记是不安全的吗?
例如,您可以使用递归的图灵完备语言,但限制每个用户脚本的堆栈大小和 运行 时间(以杀死忙碌的海狸)。如果它被实现为某种虚拟机,那将很容易做到。你也可以有一个完整的函数式语言来确保终止(但这不会解决忙碌的海狸问题)。
我希望用户能够在我的程序中编写他们自己的数学函数。这些功能可能会与其他人共享,并且 运行 在他们的机器上本地共享。代数是图灵完备的。这是否意味着我应该警告我的程序的用户有关 运行ning 数学的潜在危险?对不起,如果这是一个愚蠢的问题:)
编辑: 我正在制作一本简单的日记,但条目具有动态计算的属性。我正在考虑将 bc 用于 运行ning 用户定义的函数。如果表达式没有结束,为用户修复问题是相当容易的,因为他们可以在程序之外修改表达式。但是假设用户 A 向用户 B 发送了他们的日记。我应该警告用户 B 打开他们的日记是不安全的吗?
例如,您可以使用递归的图灵完备语言,但限制每个用户脚本的堆栈大小和 运行 时间(以杀死忙碌的海狸)。如果它被实现为某种虚拟机,那将很容易做到。你也可以有一个完整的函数式语言来确保终止(但这不会解决忙碌的海狸问题)。