我目前遇到用户(或机器人,不确定)访问在子目录中有三个句点的不存在的链接的问题。URL中的期间导致ColdFusion错误
例如,如果有人去:
http://www.example.com/.../test/index.cfm?
然后我收到以下错误:
String index out of range: -1 null
The error occurred on line -1.
我曾经使用过1周期测试它,只是2个周期和它去直接到404错误。任何具有3个或更多周期的链接都会导致此错误。
我的问题是我能做些什么来阻止这种情况发生?我的想法是将它们发送到404错误页面或重定向它们。我怎么能这样做?
我在Microsoft-IIS/7.0上运行ColdFusion 8.0.1。米格尔-F
编辑我已经在IIS 7.5中复制这一问题的ColdFusion 9.0.1,并在PCI扫描也注意到了这一点。
错误:
java.lang.StringIndexOutOfBoundsException
堆栈跟踪:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at
java.lang.AbstractStringBuilder.delete(Unknown Source) at
java.lang.StringBuffer.delete(Unknown Source) at
coldfusion.util.Utils.collapseDotDots(Utils.java:647) at
coldfusion.util.Utils.canonicalizeURI(Utils.java:601) at
coldfusion.filter.PathFilter.invoke(PathFilter.java:43) 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.filter.CachingFilter.invoke(CachingFilter.java:62) at
coldfusion.CfmServlet.service(CfmServlet.java:201) 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
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$ThreadThrottle.invokeRunnable(ThreadPool.java:428) at
jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
此错误显示在哪里?这是从插件或浏览器或直接从CF? –
我注意到我使用ColdFusion 9.0.1和IIS 7.5得到相同的错误。 –
同样在CF 9.02 + IIS 7.5上。内置服务器上的CF 10有这个问题。 Railo也会抛出一个错误。 http://stackoverflow.com/questions/19594577/periods-in-url-cause-railo-error –