如何在我的注册表单中实施 reCaptcha?
我对 php 有点陌生,我正在尝试弄清楚如何使 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 lib 的功能的部分,但在那之后,我不确定我需要在哪个部分插入什么代码来用 recapcha 替换通常生成的随机图像...
任何指示、提示或解决方案将不胜感激。
谢谢
I am kinda new to php and i am trying to figure out how to make recaptcha work on my site.
Here is an excerpt from my "signup.php" and i have corresponding signup.html which acts like a template... The head part of it looks like below...
<?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();
The security part of the code is...
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();
At the very end...it loads the signup template...
// 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);
Now i am wondering where i need to insert the code for recaptcha...i have signed up and i got to the part where i user require function to include recaptcha lib but after that, i am not sure what code i need to insert in which part to replace usual generation of random image with recaptcha...
Any directions, tips or solutions would really be appreciated.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过查看文档? http://code.google.com/apis/recaptcha/docs/php.html
Have you tried looking at the documentation? http://code.google.com/apis/recaptcha/docs/php.html