如何验证 recaptcha 并继续我的其余验证(其他脚本)
how to validate recaptcha and procedd with the rest of my validation (other script)
我有一个表格 (login.php) 来获取我必须验证的用户名和密码 (index.php)。这工作正常,但现在我需要添加 recaptcha 以防止机器人。
我遵循了本教程并且看起来不错,但我的问题(据我所知)是:如何将登录参数传递给验证(index.pxp)只有当我知道 recaptcha 验证正常时(成功)。
我的login.php是这样的:
<?php // To learn how this works
foreach ($_POST as $key => $value) {
echo '<p><strong>' . $key.':</strong> '.$value.'</p>';
}
require_once "recaptchalib.php";
$mysecret = "6LeR9C8oDC4ekXQ4";
$myresponse = null;
$reCaptcha = new ReCaptcha($mysecret);
if ($_POST["g-recaptcha-response"]) { // si se detecta la respuesta como enviada
$myresponse = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"]);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login Form</title>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<link rel="stylesheet" href="my.css" type="text/css" />
</head>
<body>
<?php /*<form action="index.php" method="post">*/ ?>
<form action="" method="post">
<input name="from" value="true" type="hidden" />
<table align="center">
<tr valign="top">
<td>Nombre de usuario:</td>
<td><input type="text" name="login" /></td>
</tr>
<tr valign="top">
<td>Contraseña:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr><td> </td></tr>
<tr><td> </td><td><div class="g-recaptcha" data-sitekey="6LeR9idR-NV-NFWCsdfsyJu"></div></td></tr>
<tr><td> </td></tr>
<tr valign="top">
<td> </td>
<td><input class="button" type="submit" value=" Enviar " /></td>
</tr>
</table>
</form>
<script src="https://www.google.com/recaptcha/api.js?hl=es" async defer></script>
</body>
</html>
如有任何建议,我们将不胜感激
嗯,比我想象的要容易。简单地代替 action="" 实际的 target="index.php" 工作正常。在那里,我只是检查了正确的响应,我拥有了我需要的一切。
不知道是我看错文档了还是none有这方面的。
我有一个表格 (login.php) 来获取我必须验证的用户名和密码 (index.php)。这工作正常,但现在我需要添加 recaptcha 以防止机器人。
我遵循了本教程并且看起来不错,但我的问题(据我所知)是:如何将登录参数传递给验证(index.pxp)只有当我知道 recaptcha 验证正常时(成功)。
我的login.php是这样的:
<?php // To learn how this works
foreach ($_POST as $key => $value) {
echo '<p><strong>' . $key.':</strong> '.$value.'</p>';
}
require_once "recaptchalib.php";
$mysecret = "6LeR9C8oDC4ekXQ4";
$myresponse = null;
$reCaptcha = new ReCaptcha($mysecret);
if ($_POST["g-recaptcha-response"]) { // si se detecta la respuesta como enviada
$myresponse = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"]);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login Form</title>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<link rel="stylesheet" href="my.css" type="text/css" />
</head>
<body>
<?php /*<form action="index.php" method="post">*/ ?>
<form action="" method="post">
<input name="from" value="true" type="hidden" />
<table align="center">
<tr valign="top">
<td>Nombre de usuario:</td>
<td><input type="text" name="login" /></td>
</tr>
<tr valign="top">
<td>Contraseña:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr><td> </td></tr>
<tr><td> </td><td><div class="g-recaptcha" data-sitekey="6LeR9idR-NV-NFWCsdfsyJu"></div></td></tr>
<tr><td> </td></tr>
<tr valign="top">
<td> </td>
<td><input class="button" type="submit" value=" Enviar " /></td>
</tr>
</table>
</form>
<script src="https://www.google.com/recaptcha/api.js?hl=es" async defer></script>
</body>
</html>
如有任何建议,我们将不胜感激
嗯,比我想象的要容易。简单地代替 action="" 实际的 target="index.php" 工作正常。在那里,我只是检查了正确的响应,我拥有了我需要的一切。
不知道是我看错文档了还是none有这方面的。