2

我目前正在评估在 .Net 应用程序中托管的应用程序脚本语言候选者,并且遇到了 Boo。但是,我很难从文档中看到是否会阻止用户导入他们想要的任何 .Net 命名空间,因此有能力做比我希望从脚本中更危险的事情。

有没有办法防止这种情况?

我现在可以提供一个覆盖 import 关键字的导入宏吗?

从文档中听起来像宏只被搜索“当遇到未知的句法结构时”。也许 import 已经是语言中的一个宏,因为他们已经将宏用于其他事情,例如打印,但它并没有说它是。

4

1 回答 1

1

如果项目已经引用了包含这些命名空间的 dll,并且 System.Core 有很多“危险”的东西,那么阻止导入不会阻止任何人使用完整路径访问命名空间。

脚本本身就存​​在风险。如果像大多数脚本环境一样,您保留某种形式的 shell 访问权限(File.Delete()、Process.Start()...),那么您很容易受到损坏、无意或其他方式的损坏。

但是,值得在Boo 邮件列表中询问,我相信有人会有一个聪明的主意......

于 2011-11-22T16:57:14.057 回答