希望有人可以帮助..我有小部件显示为无captcha recaptcha,我已经找到了一个在互联网上的代码,我试图使用,因为我不是很好用PHP但它似乎只能部分工作。每当我点击框或我不,我试图发送一封电子邮件说,请检查验证码。谷歌没有captcha recaptcha无法正常工作
这是我在我的邮件confirm.php文件,该文件是在服务器端(我不认为那里有需要发布的窗口小部件的代码,因为它显示和工作,这是第1步)
$email;$message;$sujet;$header;$captcha;
if(isset($_POST['email'])){
$email=$_POST['email'];
}if(isset($_POST['message'])){
$email=$_POST['message'];
}if(isset($_POST['sujet'])){
$email=$_POST['sujet'];
}if(isset($_POST['header'])){
$email=$_POST['header'];
}if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha){
echo '<h2>Please check the the captcha form.</h2>';
exit;
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LcIAgETAAAAAEjbARzUsrkgBIHAeE8QmsNE3US-&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false)
{
echo '<h2>You are spammer ! Get the @$%K out</h2>';
}
else
{
echo '<h2>Thanks for posting comment.</h2>';
}
1.您没有正确清理您的文章。这是一个严重的安全漏洞。 2.你如何处理电子邮件变量?如果您试图使其成为正文,您可以使用$ email + =继续添加到变量的末尾。 3.当你检查布尔类型时,在PHP $ response.success === false中使用=== – phpmeh
对于任何使用ELSE语句的爱。我不知道你在哪里找到这个代码,但它只是可怕的... –
即时通讯不好用的PHP,所以如果你可以建议一个解决这个,将不胜感激:) @phpmeh – Essentialz