reCAPTCHA on Wheels v1.1.3
With 2 simple functions, you can use Google's reCAPTCHA service to provide a CAPTCHA validation to your forms. reCAPTCHA is unique in that users solving the CAPTCHAs are helping universities and services like Google Book Search scan words from books that weren't picked up properly by OCR technology.
How to Use
There are 3 components to using reCAPTCHA in your Wheels application:
- Configuration
- Display of the reCAPTCHA widget
- Validation of user input
1. Configuration
First, you need to obtain an API key from reCAPTCHA.net. You'll need to set up keys for each of your environments, so you may need one for your development domain and your production domain, for example.
Once you obtain public and private keys, you should set these values in your different environments' config files (config/design/settings.cfm, config/production/settings.cfm, etc.):
<--- Replace values with the keys assigned to you --->
<cfset application.reCaptcha.publicKey = "OEMy3RGbcwAAAAAAC0zu2ztLCSEHeoiOt6LfJpAU">
<cfset application.reCaptcha.privateKey = "F2IANxAfzJAu6LApgLb65q_F0hP6LAAAUAX1A-hV">
If you prefer setting your custom configurations in events/onapplicationstart.cfm instead, you could also create code similar to this in that file:
<--- reCAPTCHA --->
<cfswitch expression="#get('environment')#">
<cfcase value="design">
<cfset application.reCaptcha.publicKey = "OEMy3RGbcwAAAAAAC0zu2ztLCSEHeoiOt6LfJpAU">
<cfset application.reCaptcha.privateKey = "F2IANxAfzJAu6LApgLb65q_F0hP6LAAAUAX1A-hV">
</cfcase>
<cfcase value="production">
<cfset application.reCaptcha.publicKey = "RGbcwtLCOEMyAiOtAA6LfJpAUAC0zu2z3SEAAHeo">
<cfset application.reCaptcha.privateKey = "Au6LApghP6LAAAUX1A-LF2AfzJAb60hVIAN5q_Fx">
</cfcase>
</cfswitch>
You could always have cfswitch evaluate the current domain name instead of the Wheels environment too if that's your preference.
2. Display of the reCAPTCHA Widget
Just use the showCaptcha() function to display the widget in your form.
<--- At top of view --->
<cfparam name="captchaError" type="boolean" default="false">
<--- In form --->
<cfoutput>
#showCaptcha(captchaError=captchaError)#
</cfoutput>
The showCaptcha() function accepts 4 optional arguments.
Arguments for showCaptcha()
| Argument |
Type |
Required |
Default |
Description |
label |
string |
false |
Type the two words: |
Label to use for reCAPTCHA field. |
ssl |
boolean |
false |
false |
Whether or not your form is served over SSL. |
theme |
string |
false |
clean |
reCAPTCHA theme to use. Choices are clean, red, white, and blackglass. |
captchaError |
boolean |
false |
false |
Whether or not the field should be surrounded with <span class="field-with-errors">. (This HTML tag is determined by the default setting for textField()'s errorElement argument. See the Function Settings section of the Configuration and Defaults chapter for more information.) |
Live Example of reCAPTCHA Widget
| struct |
| Cause |
| struct |
| Detail |
[empty string]
|
| ErrNumber |
0
|
| Message |
Variable SHOWCAPTCHA is undefined.
|
| StackTrace |
coldfusion.runtime.UndefinedVariableException: Variable SHOWCAPTCHA is undefined.
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:456)
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:411)
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:390)
at cfindex2ecfm266636393.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm:98)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfpluginentry2ecfm2138643560.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm:31)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfincludes2ecfm617189226$funcPLUGINENTRY.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm:66)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4894)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4874)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4162)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4100)
at cffunctions2ecfm423048677$func$REQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm:194)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:590)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4137)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4100)
at cfindex2ecfm462873534.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm:6)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfrewrite2ecfm1950755021.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm:2)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfonrequest2ecfm914946598$funcONREQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm:4)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:590)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:308)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:569)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:162)
at coldfusion.filter.IpFilter.invoke(IpFilter.java:45)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:97)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
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:231)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at jdk.internal.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:698)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:256)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:119)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:736)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
at jdk.internal.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71)
at jdk.internal.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54)
at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:50)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:452)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1831)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:842)
|
| Suppressed |
|
| TagContext |
| array
|
| 1 |
| struct |
| COLUMN |
0
|
| ID |
??
|
| LINE |
98
|
| RAW_TRACE |
at cfindex2ecfm266636393.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm:98)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm
|
| TYPE |
CFML
|
|
| 2 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
31
|
| RAW_TRACE |
at cfpluginentry2ecfm2138643560.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm:31)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm
|
| TYPE |
CFML
|
|
| 3 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
66
|
| RAW_TRACE |
at cfincludes2ecfm617189226$funcPLUGINENTRY.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm:66)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm
|
| TYPE |
CFML
|
|
| 4 |
| struct |
| COLUMN |
0
|
| ID |
CF_UDFMETHOD
|
| LINE |
194
|
| RAW_TRACE |
at cffunctions2ecfm423048677$func$REQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm:194)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm
|
| TYPE |
CFML
|
|
| 5 |
| struct |
| COLUMN |
0
|
| ID |
CF_TEMPLATEPROXY
|
| LINE |
6
|
| RAW_TRACE |
at cfindex2ecfm462873534.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm:6)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm
|
| TYPE |
CFML
|
|
| 6 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
2
|
| RAW_TRACE |
at cfrewrite2ecfm1950755021.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm:2)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm
|
| TYPE |
CFML
|
|
| 7 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
4
|
| RAW_TRACE |
at cfonrequest2ecfm914946598$funcONREQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm:4)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm
|
| TYPE |
CFML
|
|
|
| Type |
Expression
|
| name |
SHOWCAPTCHA
|
|
| Detail |
An exception occurred while invoking an event handler method from Application.cfc. The method name is: onRequest.
|
| Message |
Event handler exception.
|
| RootCause |
| struct |
| Detail |
[empty string]
|
| ErrNumber |
0
|
| Message |
Variable SHOWCAPTCHA is undefined.
|
| StackTrace |
coldfusion.runtime.UndefinedVariableException: Variable SHOWCAPTCHA is undefined.
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:456)
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:411)
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:390)
at cfindex2ecfm266636393.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm:98)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfpluginentry2ecfm2138643560.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm:31)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfincludes2ecfm617189226$funcPLUGINENTRY.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm:66)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4894)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4874)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4162)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4100)
at cffunctions2ecfm423048677$func$REQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm:194)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:590)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4137)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4100)
at cfindex2ecfm462873534.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm:6)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfrewrite2ecfm1950755021.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm:2)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfonrequest2ecfm914946598$funcONREQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm:4)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:590)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:308)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:569)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:162)
at coldfusion.filter.IpFilter.invoke(IpFilter.java:45)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:97)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
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:231)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at jdk.internal.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:698)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:256)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:119)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:736)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
at jdk.internal.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71)
at jdk.internal.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54)
at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:50)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:452)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1831)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:842)
|
| Suppressed |
|
| TagContext |
| array
|
| 1 |
| struct |
| COLUMN |
0
|
| ID |
??
|
| LINE |
98
|
| RAW_TRACE |
at cfindex2ecfm266636393.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm:98)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm
|
| TYPE |
CFML
|
|
| 2 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
31
|
| RAW_TRACE |
at cfpluginentry2ecfm2138643560.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm:31)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm
|
| TYPE |
CFML
|
|
| 3 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
66
|
| RAW_TRACE |
at cfincludes2ecfm617189226$funcPLUGINENTRY.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm:66)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm
|
| TYPE |
CFML
|
|
| 4 |
| struct |
| COLUMN |
0
|
| ID |
CF_UDFMETHOD
|
| LINE |
194
|
| RAW_TRACE |
at cffunctions2ecfm423048677$func$REQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm:194)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm
|
| TYPE |
CFML
|
|
| 5 |
| struct |
| COLUMN |
0
|
| ID |
CF_TEMPLATEPROXY
|
| LINE |
6
|
| RAW_TRACE |
at cfindex2ecfm462873534.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm:6)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm
|
| TYPE |
CFML
|
|
| 6 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
2
|
| RAW_TRACE |
at cfrewrite2ecfm1950755021.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm:2)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm
|
| TYPE |
CFML
|
|
| 7 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
4
|
| RAW_TRACE |
at cfonrequest2ecfm914946598$funcONREQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm:4)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm
|
| TYPE |
CFML
|
|
|
| Type |
Expression
|
| name |
SHOWCAPTCHA
|
|
| StackTrace |
coldfusion.runtime.EventHandlerException: Event handler exception.
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:319)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:569)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:162)
at coldfusion.filter.IpFilter.invoke(IpFilter.java:45)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:97)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
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:231)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at jdk.internal.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:698)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:256)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:119)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:736)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
at jdk.internal.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71)
at jdk.internal.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54)
at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:50)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:452)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1831)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:842)
Caused by: coldfusion.runtime.UndefinedVariableException: Variable SHOWCAPTCHA is undefined.
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:456)
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:411)
at coldfusion.runtime.CfJspPage._get(CfJspPage.java:390)
at cfindex2ecfm266636393.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm:98)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfpluginentry2ecfm2138643560.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm:31)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfincludes2ecfm617189226$funcPLUGINENTRY.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm:66)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4894)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4874)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4162)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4100)
at cffunctions2ecfm423048677$func$REQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm:194)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:590)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4137)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:4100)
at cfindex2ecfm462873534.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm:6)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfrewrite2ecfm1950755021.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm:2)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:251)
at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5083)
at cfonrequest2ecfm914946598$funcONREQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm:4)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:660)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:590)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:553)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:476)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:449)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:321)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:975)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:696)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:503)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:308)
... 55 more
|
| Suppressed |
|
| TagContext |
| array
|
| 1 |
| struct |
| COLUMN |
0
|
| ID |
??
|
| LINE |
98
|
| RAW_TRACE |
at cfindex2ecfm266636393.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm:98)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\plugins\recaptcha\index.cfm
|
| TYPE |
CFML
|
|
| 2 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
31
|
| RAW_TRACE |
at cfpluginentry2ecfm2138643560.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm:31)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\views\pluginentry.cfm
|
| TYPE |
CFML
|
|
| 3 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
66
|
| RAW_TRACE |
at cfincludes2ecfm617189226$funcPLUGINENTRY.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm:66)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\public\includes.cfm
|
| TYPE |
CFML
|
|
| 4 |
| struct |
| COLUMN |
0
|
| ID |
CF_UDFMETHOD
|
| LINE |
194
|
| RAW_TRACE |
at cffunctions2ecfm423048677$func$REQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm:194)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\dispatch\functions.cfm
|
| TYPE |
CFML
|
|
| 5 |
| struct |
| COLUMN |
0
|
| ID |
CF_TEMPLATEPROXY
|
| LINE |
6
|
| RAW_TRACE |
at cfindex2ecfm462873534.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm:6)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\index.cfm
|
| TYPE |
CFML
|
|
| 6 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
2
|
| RAW_TRACE |
at cfrewrite2ecfm1950755021.runPage(E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm:2)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\rewrite.cfm
|
| TYPE |
CFML
|
|
| 7 |
| struct |
| COLUMN |
0
|
| ID |
CFINCLUDE
|
| LINE |
4
|
| RAW_TRACE |
at cfonrequest2ecfm914946598$funcONREQUEST.runFunction(E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm:4)
|
| TEMPLATE |
E:\Domains\live\shapingtomorrow.com\wwwroot\wheels\events\onrequest.cfm
|
| TYPE |
CFML
|
|
|
| Type |
Expression
|
| name |
onRequest
|