fix recaptcha

This commit is contained in:
Mario Peters
2019-10-09 17:45:35 +02:00
parent 1b7b15932e
commit b526cba712

View File

@@ -1,95 +1,112 @@
<?php
session_start();
$seitentitel = "Verifizierung";
require_once("../header.php");
require_once("../functions.php");
// $_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// Captcha Code
$captcha;
if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha){
echo '<h2>Please check the captcha form.</h2>';
echo '<h2>Leider gab es Probleme mit den captcha. Bitte gehen Sie zurück und füllen dieses aus..</h2>';
exit;
}
$secretKey = PRIVKEY;
$ip = $_SERVER['REMOTE_ADDR'];
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
$responseKeys = json_decode($response,true);
if(intval($responseKeys["success"]) !== 1) {
echo '<h2>You are spammer ! Get the @$%K out</h2>';
} else {
// Wenn kein Fehler bei den Eingaben aufgetreten ist, Daten in DB ablegen.
$password = md5($_POST["password1"]);
$email = strtolower($_POST["email1"]);
$vorname = $_POST["vorname"];
$anrede = $_POST["anrede"];
$name = $_POST["name"];
$verein = $_POST["verein"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$strasse = $_POST["strasse"];
$telefon = $_POST["telefon"];
$fields = '(id, name, vorname, verein, anrede, login, pass, plz, ort, strasse, telefon)';
$values = '(NULL, "'.$name.'", "'.$vorname.'", "'.$verein.'", "'.$anrede.'", "'.$email.'", "'.$password.'", "'.$plz.'", "'.$ort.'", "'.$strasse.'", "'.$telefon.'")';
dbInsert("accounts", $fields, $values);
// Email verschicken Admin
$empfaenger = EMAIL;
$titel = "Neuer Account angelegt";
$mailbody = "Es hat sich jemand registriert:<br /><br />
<a href=\"".URL."\">Zur Seite..</a><br /><br />
Name: ".$vorname." ".$name."<br />
Verein: ".$verein."<br />
Email: ".$email."<br />
Straße: ".$strasse."<br />
PLZ: ".$plz."<br />
Ort: ".$ort."<br />
Tel: ".$telefon."<br />";
$header="MIME-Version: 1.0\n";
$header.="Content-type: text/html; charset=utf-8\n";
$header.="From: ".ADMIN." <".EMAIL.">\n";
mail($empfaenger, $titel, $mailbody, $header);
// Email verschicken User
$titel = URL." - "._("REGISTRIERUNG");
$mailbody = _("Sie haben sich erfolgreich auf: ").URL._(" registriert:<br /><br />").
"<a href=\"".URL."\">"._("Zur Seite..")."</a><br /><br />
"._("Hier Ihre gespeicherten Daten:")."<br /><br />
"._("Name: ").$vorname." ".$name."<br />
"._("Verein: ").$verein."<br />
"._("Email: ").$email."<br />
"._("Straße: ").$strasse."<br />
"._("PLZ: ").$plz."<br />
"._("Ort: ").$ort."<br />
"._("Tel: ").$telefon."<br />";
$header="MIME-Version: 1.0\n";
$header.="Content-type: text/html; charset=utf-8\n";
$header.="From: ".ADMIN." <".EMAIL.">\n";
mail($email, $titel, $mailbody, $header);
?>
<h2><?php echo _("Registrierung erfolgreich") ?></h2>
<p><?php echo _("Sie haben sich erfolgreich mit Ihren Daten registriert.") ?></p>
<form method="post" action="logincheck.php">
<input type="hidden" name="userID" value="<?php echo getUserID($email, $password);?>">
<p>
<input type="submit" value="<?php echo _("Zur Übersicht") ?>">
</p>
</form>
<?php
}
<?php
session_start();
$seitentitel = "Verifizierung";
require_once("../header.php");
require_once("../functions.php");
// $_SESSION = array();
// if (isset($_COOKIE[session_name()])) {
// setcookie(session_name(), '', time()-42000, '/');
// }
// Captcha Code
error_reporting(~0);
ini_set('display_errors', 1);
if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha){
echo '<h2>Please check the captcha form.</h2>';
echo '<h2>Leider gab es Probleme mit den captcha. Bitte gehen Sie zurück und füllen dieses aus..</h2>';
exit;
}
$ip = $_SERVER['REMOTE_ADDR'];
$url = "https://www.google.com/recaptcha/api/siteverify?secret=".PRIVKEY."&response=".$captcha;
$options=array(
'ssl'=>array(
'cafile' => '//etc/ssl/certs/ca-certificates.crt',
'verify_peer' => true,
'verify_peer_name' => true,
),
);
$context = stream_context_create( $options );
$response = file_get_contents($url, true, $context);
print_r($response);
$responseKeys = json_decode($response, true);
print_r($responseKeys);
if(intval($responseKeys["success"]) !== 1) {
echo '<h2>Leider hat Google gerade einen Fehler. Bitte schicken Sie mir eine Email und ich erstelle Ihnen einen Account.</h2>';
} else {
// Wenn kein Fehler bei den Eingaben aufgetreten ist, Daten in DB ablegen.
$password = md5($_POST["password1"]);
$email = strtolower($_POST["email1"]);
$vorname = $_POST["vorname"];
$anrede = $_POST["anrede"];
$name = $_POST["name"];
$verein = $_POST["verein"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$strasse = $_POST["strasse"];
$telefon = $_POST["telefon"];
$fields = '(id, name, vorname, verein, anrede, login, pass, plz, ort, strasse, telefon)';
$values = '(NULL, "'.$name.'", "'.$vorname.'", "'.$verein.'", "'.$anrede.'", "'.$email.'", "'.$password.'", "'.$plz.'", "'.$ort.'", "'.$strasse.'", "'.$telefon.'")';
dbInsert("accounts", $fields, $values);
// Email verschicken Admin
$empfaenger = EMAIL;
$titel = "Neuer Account angelegt";
$mailbody = "Es hat sich jemand registriert:<br /><br />
<a href=\"".URL."\">Zur Seite..</a><br /><br />
Name: ".$vorname." ".$name."<br />
Verein: ".$verein."<br />
Email: ".$email."<br />
Straße: ".$strasse."<br />
PLZ: ".$plz."<br />
Ort: ".$ort."<br />
Tel: ".$telefon."<br />";
$header="MIME-Version: 1.0\n";
$header.="Content-type: text/html; charset=utf-8\n";
$header.="From: ".ADMIN." <".EMAIL.">\n";
mail($empfaenger, $titel, $mailbody, $header);
// Email verschicken User
$titel = URL." - "._("REGISTRIERUNG");
$mailbody = _("Sie haben sich erfolgreich auf: ").URL._(" registriert:<br /><br />").
"<a href=\"".URL."\">"._("Zur Seite..")."</a><br /><br />
"._("Hier Ihre gespeicherten Daten:")."<br /><br />
"._("Name: ").$vorname." ".$name."<br />
"._("Verein: ").$verein."<br />
"._("Email: ").$email."<br />
"._("Straße: ").$strasse."<br />
"._("PLZ: ").$plz."<br />
"._("Ort: ").$ort."<br />
"._("Tel: ").$telefon."<br />";
$header="MIME-Version: 1.0\n";
$header.="Content-type: text/html; charset=utf-8\n";
$header.="From: ".ADMIN." <".EMAIL.">\n";
mail($email, $titel, $mailbody, $header);
?>
<h2><?php echo _("Registrierung erfolgreich") ?></h2>
<p><?php echo _("Sie haben sich erfolgreich mit Ihren Daten registriert.") ?></p>
<form method="post" action="logincheck.php">
<input type="hidden" name="userID" value="<?php echo getUserID($email, $password);?>">
<p>
<input type="submit" value="<?php echo _("Zur Übersicht") ?>">
</p>
</form>
<?php
}
include ("../footer.php");