直接访问 application.cfc 会产生未捕获的 ColdFusion 错误

Posted

技术标签:

【中文标题】直接访问 application.cfc 会产生未捕获的 ColdFusion 错误【英文标题】:Directly accessing application.cfc produces untrapped ColdFusion error 【发布时间】:2011-12-12 18:05:52 【问题描述】:

我正在使用 application.cfc 开发一个新的 ColdFusion 9 应用程序,只是想看看如果我直接导​​航到 application.cfc 会发生什么,如下所示:

http://www.mysite.com/application.cfc

看到一个未被发现的错误,我有些惊讶,其内容是:

“Application.cfm、Application.cfc 或 OnRequestEnd.cfm 文件的无效请求”

经过一番挖掘,似乎没有真正的方法可以在应用程序本身内处理这个问题——或者至少到目前为止我还没有找到任何方法。

对于这个问题有什么好的解决方案吗?

提前致谢!

【问题讨论】:

【参考方案1】:

答案是通过 ColdFusion Administrator 使用全局错误处理程序:

在这里,您将输入您构建的 cf 模板的值,并捕获由于直接访问 Application.cfc 而出现的必要错误。

【讨论】:

感谢您的回复...但我讨厌这个解决方案。 (-; 如果您在服务器上运行多个 CF 应用程序(就像我一样),那么这不是很好。这真的是唯一的选择吗? 我认为没有其他解决方案,因为 Application.cfc 或 Application.cfm 是每个请求首先调用的文件。 我宣布这是答案,尽管我讨厌它。感觉就像 Cold Fusion 中的一个错误,希望它在未来的版本中得到“修复”。【参考方案2】:

好吧,如果您不想使用站点范围的错误处理程序,您可以简单地将 Application.cfc 设置为不可网页浏览,然后让您的 404 处理程序处理它。

【讨论】:

可能无知的问题:如何在 IIS 中做到这一点? 好问题。我原以为只需右键单击 > 属性 > 关闭 READ 设置。但这对我不起作用:IIS 仍然将它传递给 CF(我认为它不应该)。不过,我不是 IIS 专家。幸运的是,有 Google... ;-) 谷歌?你说的这个谷歌是什么? (-;我搜索了一下,但(还)没有找到答案。我会继续挖掘并在这里发布结果。 嘿。是的,抱歉,我想问我们的一位系统管理员这是怎么回事,但他们今天都不在家。等我知道了,我会回来找你的。 为了它的价值,我今天又回到了这个,在IIS7中转了一圈后,我找到了答案。 IIS7 有一个“请求过滤”选项。单击它,您可以选择“允许 URL...”或“拒绝序列...”。我选择了“拒绝序列...”,然后在显示的 IIS 字段中输入“application.cfc”,瞧!我丢失的页面处理程序突然收到了对 application.cfc 的请求。在我看来,这比 CF 站点范围的错误处理程序要好得多。 IIS6 没有答案,但我认为没关系。

以上是关于直接访问 application.cfc 会产生未捕获的 ColdFusion 错误的主要内容,如果未能解决你的问题,请参考以下文章

计划任务是不是以与网页相同的方式加载 Application.cfc?

关于Application.cfc中onRequest方法的coldfusion问题

直接访问与在开发工具中读取对象时访问 javascript 属性会产生不同的结果

使用 Discord.js 跨渠道发送消息会产生“未定义”错误

为啥 GCC 会为 ARM Cortex-A9 产生非法未对齐访问

web未授权访问漏洞总结——mongodbredismemcachejbossvncdockerzkrsync