p:captcha 抛出 - 阻止在 FireFox 上加载混合活动内容
p:captcha throws - Blocked loading mixed active content on FireFox
我在尝试使用 <p:captcha>
时遇到问题。我在 FireFox v34.0.5 中收到以下错误:
Blocked loading mixed active content "http://www.google.com/recaptcha/api/challenge?k=xxxxxxxxxxxxxxxxxxxxxxxxx"
显示复选按钮但未显示验证码图像
我的应用程序托管在安全 (HTTPS) 服务器上,但验证码似乎正在使用 HTTP 连接到不安全的服务器
这是我的 web.xml 文件:
<context-param>
<param-name>primefaces.PUBLIC_CAPTCHA_KEY</param-name>
<param-value><xxxxx_recaptcha_generated_public_captcha_key></param-value>
</context-param>
<context-param>
<param-name>primefaces.PRIVATE_CAPTCHA_KEY</param-name>
<param-value><xxxxx_recaptcha_generated_private_captcha_key></param-value>
</context-param>
我的视图文件 (forgottenOPassword.xhtml):
<p:captcha label="Captcha" rendered="#{passBB.showCaptcha}"/>
<p:commandButton actionListener="#{passBB.verifyCaptcha}"
ajax="false"
icon="ui-icon-check"
rendered="#{passBB.showCaptcha}"
value="Check"/>
将 <p:captcha>
的 secure
属性设置为 true
。另见 VDL documentation:"Enables https support"。
<p:captcha ... secure="true" />
或者如果你想让它依赖于当前的请求(例如,当你有 2 个版本的 webapp 并且验证码被放置在一些可重复使用的 tagfile/component 中),那么检查 HttpServletRequest#isSecure()
改为:
<p:captcha ... secure="#{request.secure}" />
无论哪种方式,如果计算结果为 true
,则 CaptchaRenderer
will use https
instead of http
。
我在尝试使用 <p:captcha>
时遇到问题。我在 FireFox v34.0.5 中收到以下错误:
Blocked loading mixed active content "http://www.google.com/recaptcha/api/challenge?k=xxxxxxxxxxxxxxxxxxxxxxxxx"
显示复选按钮但未显示验证码图像
我的应用程序托管在安全 (HTTPS) 服务器上,但验证码似乎正在使用 HTTP 连接到不安全的服务器
这是我的 web.xml 文件:
<context-param>
<param-name>primefaces.PUBLIC_CAPTCHA_KEY</param-name>
<param-value><xxxxx_recaptcha_generated_public_captcha_key></param-value>
</context-param>
<context-param>
<param-name>primefaces.PRIVATE_CAPTCHA_KEY</param-name>
<param-value><xxxxx_recaptcha_generated_private_captcha_key></param-value>
</context-param>
我的视图文件 (forgottenOPassword.xhtml):
<p:captcha label="Captcha" rendered="#{passBB.showCaptcha}"/>
<p:commandButton actionListener="#{passBB.verifyCaptcha}"
ajax="false"
icon="ui-icon-check"
rendered="#{passBB.showCaptcha}"
value="Check"/>
将 <p:captcha>
的 secure
属性设置为 true
。另见 VDL documentation:"Enables https support"。
<p:captcha ... secure="true" />
或者如果你想让它依赖于当前的请求(例如,当你有 2 个版本的 webapp 并且验证码被放置在一些可重复使用的 tagfile/component 中),那么检查 HttpServletRequest#isSecure()
改为:
<p:captcha ... secure="#{request.secure}" />
无论哪种方式,如果计算结果为 true
,则 CaptchaRenderer
will use https
instead of http
。