Coldfusion 中的 Evaluate() 函数不起作用

0 coldfusion cfc application.cfc cfml

我在 Coldfusion 2021 中使用评估()时遇到错误。请查看屏幕截图在此输入图像描述

我可以知道背后的原因是什么吗?或者有什么解决方案可以解决这个问题吗?在我的项目中,我在很多地方都使用了这个功能。请帮我解决这个问题。

Ada*_*ron 9

那是 trycf.com,对吗?他们已经禁用了evaluate。消息中甚至还提到了这一点。

在锁定良好的服务器上,类似的事情evaluate通常会被禁用,因为除非处理得当,否则它们是渗透向量。

由于 trycf.com 在设计上是用于运行任何任意 CFML,因此需要很好地锁定服务器。确实如此。

但我怀疑您的担忧是否真的与 trycf.com 有关。我想它是用于您使用的其他服务器?出于同样的原因:安全。

几乎没有理由使用evaluate,并且在很多圈子里使用它被认为是不好的做法。鉴于您无法在您的情况下使用它,我将重构代码以不再需要它。


在您的具体示例中(也请将来不要发布代码图片和/或错误消息:发布文本!)您不需要evaluate. 你只需要这个:

prevYear = year(now()) - 1
Run Code Online (Sandbox Code Playgroud)

evaluate用于评估一个或多个包含代码表达式的字符串。这里绝对没有意义。人们应该始终阅读正在使用的任何编程结构的文档。尤其是当一个人遇到问题时。