字符串索引超出范围的错误当URL包含两个点(String index out of range er

2019-09-17 20:20发布

我有一个后任意ColdFusion页面,URL包含字符..上提供了以下错误的ColdFusion 9服务器/例如http://www.example.com/..cfm或http://www.example.com /..foo/bar.cfm :

String index out of range: -1

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.AbstractStringBuilder.delete(AbstractStringBuilder.java:698)
    at java.lang.StringBuffer.delete(StringBuffer.java:373)
    at coldfusion.util.Utils.collapseDotDots(Utils.java:604)
    at coldfusion.util.Utils.canonicalizeURI(Utils.java:558)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:39)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.CfmServlet.service(CfmServlet.java:175)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at com.seefusion.Filter.doFilter(Filter.java:49)
    at com.seefusion.SeeFusion.doFilter(SeeFusion.java:1500)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

我一直无法重现这个每次我测试服务器上,但它似乎对多数发生。 纵观错误,它看起来像它涉及到的ColdFusion的一部分,而不是在这些网站上运行的任何ColdFusion代码。 任何人都可以阐明这如任何更多的光线如何捕捉到错误?

Answer 1:

我得到上述错误并想通了,这可以通过在ColdFusion的管理“站点范围内的错误处理程序”进行处理。 我把它引导到我404.cfm。

希望能帮助到你。



文章来源: String index out of range error when URL contains two dots