我不是最好的PHP,并且在使用Google reCAPTCHA v2安装联系表单时遇到一些问题。
其中一个链接的PHP文件中有一些代码允许reCAPTCHA表单工作。我理解其中的大部分内容,但我不确定在下面的“REMOTE_ADDR”部分中放入什么。
if ($validate_captcha) {
require dirname(__FILE__)."/reCaptcha/autoload.php";
// Create an instance of the service using your secret
$re_captcha = new \ReCaptcha\ReCaptcha($secret);
// If file_get_contents() is locked down on your PHP installation to disallow
// its use with URLs, then you can use the alternative request method instead.
// This makes use of fsockopen() instead.
// $re_captcha = new \ReCaptcha\ReCaptcha($secret, new \ReCaptcha\RequestMethod\SocketPost());
**// Make the call to verify the response and also pass the user's IP address
$valid_captcha = $re_captcha->verify($captcha, $_SERVER["REMOTE_ADDR"]);**
if (!$valid_captcha->isSuccess()) {
echo '<div class="error-message unit"><i class="fa fa-close"></i>Oops! Are you a robot?</div>';
exit;
}
}
我是否需要包含公司的IP地址?问题是我们有多个IP地址。我如何选择要包含哪一个,或者是否有办法列出所有这些?
或者,这是用户的IP地址(我知道它在代码中说,但我有点困惑)?我怎么知道这一点,甚至还需要在“REMOTE_ADDR”插槽中写任何内容?
我非常感谢任何帮助,因为我以前从未处理过这个问题。提前谢谢!