安全问题:Razor 引擎是否可以在内部进行 REST 调用?



我正在WebApi(当前版本2017(中开发一个API,它使用Antaris Razor引擎3.10。今天的当前非测试版。

有人担心"Razor 引擎很强大",可以进行 REST 调用。这可能吗?

我理解它是一个模板引擎。在编译阶段或运行阶段,引擎是否有可能进行 REST 调用?

我没有在浏览器中呈现模板的最终结果。它仅用于格式化 JSON/XMl 字符串内容,以发布到我正在构建的已编译 C# API 中的后续 REST 调用。 Antaris Razor 引擎是否能够在内部进行 REST 调用?

答案是肯定的。Antaris Razor 引擎可以在运行阶段进行 REST 调用。

它基本上能够运行.Net代码。它不仅仅是数据绑定和令牌替换。它将模型联接到模板,并运行可以编译的任何 .Net 代码。

有些东西稍微难用一些,例如,隐式转换为字符串并不真正有效。我找到了.ToString(( 需要在 Visual Studio 中编写时调用它。此外,null 检查有时会引发对象引用错误,即使按照项目建议执行也是如此。我发现将对象模型反序列化为动态使空检查更加可靠。

总而言之,这是一个伟大的项目,具有强大的力量。一点点古怪不会阻止我使用它。

最新更新