我正在使用Joomla 1.5应用程序从Google实施ReCaptcha。我知道,它是Joomla的旧版本,但随着时间的推移,公司的硬编码实践使得升级成为不可能。
顺便说一下,我在https://code.google.com/p/joomla-recaptcha/找到了Joomla 1.5的旧ReCaptcha插件,由developers.google(https://developers.google.com/recaptcha/old/intro)推荐。
该插件非常易于使用。足够安装插件并启用它。这样只需要使用它的静态方法。我必须做的一件事是在components / com_community / helpers / recaptcha.php和plugins / system / recaptcha / recaptchalib.php中更改ReCaptcha ajax API的路径。那是因为插件引用了旧路径。
我在ReCaptcha的服务器端部分工作得很好。所以我最关心的是客户端问题。要显示ReCaptcha片段,只需要包含行
<div><?php echo ReCaptcha::get('html'); ?></div>
模板.php
中的。
ReCaptcha::get
静态方法在我的模板中生成以下代码
<div>
<div id='recaptcha_ajax_instance_'></div>
<script type='text/javascript' src='http://www.google.com/recaptcha/api/js/recaptcha_ajax.js'></script>
<script type='text/javascript'>
(function(){
function loadRecaptcha(){
Recaptcha.create('6LcKaAgTAAAAAP3CgGF04VUsWTPGwzDs3EaVlajH','recaptcha_ajax_instance_');
}
if( window.addEvent ){
window.addEvent('domready', loadRecaptcha);
}
else{
if( window.addEventListener ){ window.addEventListener('load', loadRecaptcha); }
else if( window.attachEvent ){ window.attachEvent('onload', loadRecaptcha); }
else{ old = window.onload; window.onload = function(){ if( old && typeof old == 'function'){ old(); } loadRecaptcha(); }; }
}
})();
</script>
</div>
该问题只是重新加载验证码的按钮不起作用。鼠标悬停按钮时鼠标都不会更改为指针,单击时按钮也不会更改单词。另外两个按钮(音频chalange和帮助)运作良好。
我想知道上面的代码是否已过时使用谷歌URL中最新的API。
如果有人可以提供帮助,我很感激。
答案 0 :(得分:0)
这需要来自reCAPTCHA网站的注册和API密钥并下载zip文件。
在此处获取密钥http://recaptcha.net/
从这里获取您的zip文件
http://code.google.com/p/recaptcha/d...:phplib-Latest
注册并获取您的API密钥。保持这些信息方便,不要失去它。
以下是我以前在tpl.php页面中放置的代码。这将在您的页面上显示reCAPTCHA
<?php
require_once('captcha/recaptchalib.php');
$publickey = "Place your publickey here"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
示例:强>
<?php
require_once('captcha/recaptchalib.php');
$publickey = "6Lf1bAkBGT#&FR7LeYIkjth61T5n-BpmpXI3IHMa"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>