如何在我的注册表单中实施 reCaptcha?

发布于 2024-09-25 22:36:00 字数 2775 浏览 1 评论 0原文

我对 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笙痞 2024-10-02 22:36:00

您是否尝试过查看文档? 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文