2

在我设计的应用程序中,我将其中一个网页命名为“error.cfm”。我希望它在应用程序出现错误时显示。所以我将以下代码放入“error.cfm”中:

        An uncaught exception just 'happened' :-(
        <br><br>
        <b><cfoutput>#exception.message#</cfoutput></b><br />
        <cfoutput>#exception.detail#</cfoutput><br /><br />
        <cfif isdefined('exception.cause')>
            <b><cfoutput>#exception.cause.message#</cfoutput></b><br />
            <cfoutput>#exception.cause.detail#</cfoutput>
        </cfif>
        <cfdump var="#exception#">

因此,在托管网站后,我发现该特定页面拒绝加载,而是显示“500 内部错误”。然后我向我的托管公司投诉,我收到了以下详细信息:


尊敬的顾客,

实际的错误信息如下:

安全性:请求的模板已被拒绝访问 createobject(java)。
以下是内部异常消息:拒绝访问 (coldfusion.runtime.FunctionPermission createobject(java))

错误发生在 C:\inetpub\vhosts\plat4ad.com\httpdocs\cms\error.cfm:第 10 行

8 : 9 : 10 :

不幸的是,出于安全考虑,我们的服务器上禁用了某些标签和功能。您可以在此处查看完整列表:

https://support.dailyrazor.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=293&nav=0,29,76

如果您有任何其他问题,请告诉我们。

最良好的祝愿,支持-GG DailyRazor 支持团队。


现在检查他们在服务器上禁用的标签列表,CFDUMP其中包括:

在共享的 ColdFusion 服务器上,您将可以访问所有标签和功能,但以下内容除外:

标签:

  • CF系列
  • 内容
  • CFDUMP
  • 执行
  • CFLOG
  • 对象
  • 对象缓存
  • CFREGISTRY

CF 功能:

  • 设置配置文件字符串
  • 创建对象(COM)
  • 创建对象(CORBA)
  • 创建对象(JAVA)

请问有什么替代方案CFDUMP吗?或者有谁知道任何没有这些限制的 ColdFusion 托管公司?我很欣赏你的任何想法。

4

4 回答 4

5

这个怎么样:http: //www.coldfusionjedi.com/index.cfm/2010/10/6/Cant-dump-Try-a-fake-dump

于 2011-01-08T23:08:23.160 回答
3

如果您拥有自己的 VPS(谷歌:coldfusion VPS),您就可以在该机器上做任何您想做的事情。

没有的全部意义cdump在于安全措施。通常所有调试和转储原始数据都是在开发服务器和运行应用程序的托管服务器上完成的,对吧?Error.cfm用于隐藏捕获的异常详细信息,例如文件的路径、有关使用的库的数据等。

有一些方法可以在没有cfdump. 在您的情况下,我不明白为什么您不能使用普通cfoutput的并将异常详细信息写为 2 行输出。

在你的位置,我会使用 fw/1 或 Mura CMS 的源代码来看看它们如何处理错误消息,最好看看更有经验的人是如何做的,然后“浪费”时间重新发明轮子。

于 2011-01-08T23:08:56.653 回答
0

我要补充一点,如果您选择“转储”详细信息,您还可以将转储代码包装在一个“if”块中,该块查看您的 cgi.REMOTE_ADDR,如果它与您的 IP 地址匹配,则转储,否则不。

<cfif cgi.REMOTE_ADDR EQ "167.96.177.66">
<!--- execute dump code here --->
</cfif>

警告:YMMV,必须有一个静态 IP,必须是那个 IP,等等。

于 2013-10-29T18:20:59.947 回答
0

CFDUMP 在被包含在 ColdFusion 中之前就作为自定义标签开始使用。

它似乎仍然可以下载:http ://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1002037

您可能需要对其进行更改才能在更现代的 CF 版本中(更好地)工作,但它应该可以完成您所需的 90% 以上。

于 2011-01-09T01:55:29.387 回答