我有一个问题,Google的reCaptcha没有出现在我的https网站上,并且想知道这里是否有其他人遇到过/正在遇到同样的问题,并且已经找到了解决方法。
在我的测试环境(localhost)中,它显示正常,我可以发送和接收表单。但是,在将其上传到我的GoDaddy托管的安全网站后,reCaptcha图像/ div不会出现,我也没有任何想法。
请帮忙。
以下是我的代码的一部分(在localhost中有效):
内部&#34;头部&#34;标签<script src='https://www.google.com/recaptcha/api.js'></script>
内部&#34;身体&#34;重新实际出现的地方:
<div class="contact_text">
<div class="g-recaptcha" id="googlecaptcha"
data-sitekey="SITEKEYPLACEHOLDER"></div>
<?php echo "<p class='text-danger col-xs-offset-6 col-xs-6'>$errCaptcha</p>";?>
</div>
然后&#34; php&#34;部分:
$captcha = $_POST['g-recaptcha-response'];
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=SECRETKEYPLACEHOLDER&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false){
$errCaptcha = 'Please check captcha form';
}
我的基础是本教程https://codeforgeek.com/2014/12/google-recaptcha-tutorial/
重申一下,代码/页面/表单可以在我的localhost测试环境中运行,但在上传到我的GoDaddy托管的https网站时会显示。
我感谢任何帮助或建议。谢谢。
更新
由于我或任何人都没有关于这个主题的任何线索,我选择了另一个名为&#34; secureimage&#34;足以满足我的需求目前。我会保持这个问题的开放,因为我真的想使用Google的验证码,因为直观的令人印象深刻的复选框样式验证码。
希望有人能在不久的将来找到方法。
解决方案:
删除&#34; https:&#34;从源路径正确显示Google reCaptcha!
<script src='//www.google.com/recaptcha/api.js'></script>
代码块和表单现在有效。谢谢Matthew3k!
答案 0 :(得分:4)
删除&#34; https:&#34;从源路径。
<script src='//www.google.com/recaptcha/api.js'></script>
我发现这种方法可以成功地在安全站点上加载跨域资源。