2017-02-12 7 views
-2

das ist mein Code ich arbeite derzeit. aber ich brauche klicken nur auf der nächsten Seite umleitenRedirect nach erfolgreicher google recapta

<title></title> 
    <script src='https://www.google.com/recaptcha/api.js'></script> 
</head> 
<body> 
    <form method="post" action="index.php"> 
     <div class="g-recaptcha" data-sitekey="xxxxx"></div> 
     <input type="submit" /> 
    </form> 
</body> 



<?php 
    if($_SERVER["REQUEST_METHOD"] === "POST") 
    { 
     //form submitted 

     //check if other form details are correct 

     //verify captcha 
     $recaptcha_secret = "xxxxxxxxxg"; 
     $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret."&response=".$_POST['g-recaptcha-response']); 
     $response = json_decode($response, true); 
     if($response["success"] === true) 
     { 
      echo "Logged In Successfully"; 
     } 
     else 
     { 
      echo "You are a robot"; 
     } 
    } 
?> 
+2

ok, das ist großartig, also von uns wollen Sie was? – nogad

+0

@Irfan Ali Warum postest du deinen Code nicht, da wir hier sind, um dir zu helfen, indem du ein Problem löst, nicht den ganzen Code für dich zu schreiben ... Würdest du dir bitte ein paar Minuten Zeit nehmen, um deinen Code zu posten Frage durch Klicken auf den Link "Bearbeiten"? Ersetzen Sie den geheimen/privaten Schlüssel durch etwas anderes, da dies geheim gehalten werden sollte und nur Ihnen bekannt sein sollte. – jagb

+0

@jabg ich tat es bitte überprüfen –

Antwort

0

Statt echo'ing „Erfolgreich angemeldet“, zu verwenden:

echo '<script type="text/javascript">', 
    'location.replace("'.$url.'");' 
    ,'</script>'; 

mit url $ auf, was auch immer Seite, die Sie umleiten möchten.

+0

Ich brauche vollständigen Code .. oben Skript ist für Formular absenden .. Ich möchte Benutzer redirect, wenn sie real sind .. nur auf Klick –

1

nur schreiben für tatsächliche Klicks nicht die Antwort gegen Roboter ist, müssen Sie ein Formular mit einem versteckten Token erstellen und überprüfen, ob die recaptcha und Token gültig sind und dann Benutzeranmeldung validieren.

<title></title> 
<script src='https://www.google.com/recaptcha/api.js'></script> 
</head> 
<body> 
<?php 

    if (!isset($_POST['Submit'])){ 
    // Genarate token 
    $token = md5(uniqid(rand(),TRUE)); 
    $_SESSION['token'] = $token; 
    $_SESSION['token_time'] = time(); 
    } 

?> 
<form method="post" action="index.php"> 
    <div class="g-recaptcha" data-sitekey="xxxxx"></div> 
    <input type="hidden" name="token" value="<?php echo $token;?>"/> 
    <input type="submit" /> 
</form> 

<?php 

if($_SERVER["REQUEST_METHOD"] === "POST") 
{ 
    //form submitted 

    //check if other form details are correct 

    //verify captcha 
    $recaptcha_secret = "xxxxxxxxxg"; 
    $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret."&response=".$_POST['g-recaptcha-response']); 
    $response = json_decode($response, true); 
    if($response["success"] === true) 
    { 
     // Logged In Successfully 
     if ($_POST['token'] != $_SESSION['token']){ 
      // Didn't came from the site 
      header('Location: login.php'); 
     } else { 
      header('Location: index.php'); 
     } 
    } 
    else 
    { 
     // Not Logged In Successfully 
     header('Location: login.php'); 
    } 
} 
Verwandte Themen