Периоды в 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 или перенаправить их. Как я мог это сделать?

Я использую ColdFusion 8.0.1 в Microsoft-IIS / 7.0.

Редактировать от Мигеля-F

Я продублировал эту проблему с ColdFusion 9.0.1 на IIS 7.5, а также заметил это во время сканирования 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)

Ответы на вопрос(1)

Ваш ответ на вопрос