我在java jsp设置上使用recaptcha。我在jsp中使用以下代码
<%@ page import="net.tanesha.recaptcha.ReCaptcha"%>
<%@ page import="net.tanesha.recaptcha.ReCaptchaFactory"%>
<%
ReCaptcha c = ReCaptchaFactory.newReCaptcha("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXX", false);
out.print(c.createRecaptchaHtml(null, null));
out.flush();
%>
然而,该网站使用https,因此我在IE上收到“仅显示安全内容”消息。
如果我查看源recaptcha已生成以下
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=XXXXXXXXXXXXXXXXXXXXXXX"></script>
如何强制重新使用https而不是http?
答案 0 :(得分:8)
查看source code,您需要更改:
ReCaptchaFactory.newReCaptcha( //...
使用:
ReCaptchaFactory.newSecureReCaptcha( //...
就是这样!
答案 1 :(得分:0)
您可以通过这种方式使其适用于安全和不安全的内容
ReCaptcha c=null;
if(request.getScheme().equals("https"))
{
c= ReCaptchaFactory.newSecureReCaptcha(
Constants.RECATCHA_PUBLIC_KEY,
Constants.RECATCHA_PRIVATE_KEY, false);
}else{
c = ReCaptchaFactory.newReCaptcha(
Constants.RECATCHA_PUBLIC_KEY,
Constants.RECATCHA_PRIVATE_KEY, false);
}