如何在注册表单中实现reCaptcha?
问题描述:
我有点新来的PHP,我想弄清楚如何使recaptcha在我的网站上工作。如何在注册表单中实现reCaptcha?
这里是我的“signup.php”的摘录,我已经相应signup.html它就像一个模板......它的头部看起来像下面...
<?php
require_once('includes/config.php');
require_once('includes/functions/func.global.php');
require_once('includes/classes/class.template_engine.php');
require_once('includes/lang/lang_'.$config['lang'].'.php');
// Connect to database
db_connect($config);
// Start Session
session_start();
安全部分代码是...
if($config['security'])
{
$_POST['security_code'] = trim($_POST['security_code']);
if(strtoupper($_POST['security_code']) != strtoupper($_SESSION['seccode']))
{
$security_error = $lang['INVALIDSECWORD'];
$errors++;
}
}
if($errors == 0)
{
$rem = md5(mt_rand(0,56)*time());
if($config['validation'] == '1')
{
mysql_query("INSERT INTO `".$config['db']['pre']."users` (`user_id` , `username` , `password` , `email` , `remember` , `status`) VALUES ('', '".validate_input($_POST['username'])."', '".validate_input(md5($_POST['password']))."', '".validate_input($_POST['email'])."', '".validate_input($rem)."', '0');");
$user_id = mysql_insert_id();
在最后...它加载注册模板...
// Load signup template
$page = new HtmlTemplate ('templates/' . $config['tpl_name'] . '/signup.html');
$page->SetParameter ('OVERALL_HEADER', create_header($config,$lang,$cats,$lang['SIGNUP']));
$page->SetParameter ('OVERALL_FOOTER', create_footer($config,$lang));
$page->SetLoop ('CATS', $cats);
if(isset($_POST['username']))
{
$page->SetParameter ('USERNAME_FIELD', $_POST['username']);
$page->SetParameter ('EMAIL_FIELD', $_POST['email']);
$page->SetParameter ('USERNAME_ERROR', $username_error);
$page->SetParameter ('PASSWORD_ERROR', $password_error);
$page->SetParameter ('EMAIL_ERROR', $email_error);
$page->SetParameter ('AGREE_ERROR', $agree_error);
$page->SetParameter ('SECURITY_ERROR', $security_error);
}
else
{
$page->SetParameter ('USERNAME_FIELD', '');
$page->SetParameter ('EMAIL_FIELD', '');
$page->SetParameter ('USERNAME_ERROR', '');
$page->SetParameter ('PASSWORD_ERROR', '');
$page->SetParameter ('EMAIL_ERROR', '');
$page->SetParameter ('AGREE_ERROR', '');
$page->SetParameter ('SECURITY_ERROR', '');
}
if(isset($_SESSION['duser']['id']))
{
$page->SetParameter ('LOGGEDIN', 1);
}
else
{
$page->SetParameter ('LOGGEDIN', 0);
}
$page->SetParameter ('SECURITY_CODE',$config['security']);
$page->SetParameter ('SITE_TITLE',$config['site_title']);
$page->CreatePageEcho($lang,$config);
现在我想知道在哪里需要插入代码recaptcha ...我已经注册了,我到了我用户需要的功能包括recaptcha库的部分,但之后,我不知道我需要插入哪些代码在哪部分用recaptcha替换常见的随机图像代...
任何方向,建议或解决方案真的很感激。
谢谢
更具体地说,recaptcha_get_html($ publickey); – theAlexPoon 2010-10-04 02:20:13
我试着看文档,但我发现很难用现有的安全代码生成系统替换它...我有另一个名为“seccode.php”的文件,它生成一个图像并将其传递给上面的代码。 ..我需要用recaptcha替换这个系统... – Roy 2010-10-04 04:01:13