added hcaptcha for comments
This commit is contained in:
parent
eb301819ae
commit
4d20ecd43c
2 changed files with 33 additions and 11 deletions
|
@ -23,7 +23,7 @@ function getComments($article){
|
|||
}
|
||||
}
|
||||
echo(<<<EOF
|
||||
|
||||
<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
|
||||
<div id="newComment">
|
||||
<form action="/newComment.php" method="post">
|
||||
<label for="name">Name:</label><br>
|
||||
|
@ -34,7 +34,9 @@ function getComments($article){
|
|||
|
||||
<label for="comment">Kommentar:</label><br>
|
||||
<textarea name="comment" id="comment"></textarea><br><br>
|
||||
|
||||
|
||||
<div class="h-captcha" data-sitekey="$sitekey"></div>
|
||||
|
||||
<input type="submit" value="Kommentar veröffentlichen"><br>
|
||||
<p>Mit dem klick auf den obigen Button erklären sie sich mit der <a href="/datenschutzerklaerung.html">Datenschutzerklärung</a> einverstanden.</p>
|
||||
</form>
|
||||
|
|
|
@ -1,16 +1,36 @@
|
|||
<?php
|
||||
include("./internal/mysql.php");
|
||||
|
||||
$ref = $_SERVER["HTTP_REFERER"];
|
||||
$article = $conn->escape_string(explode(".php", explode("Projekte/", $ref)[1])[0]);
|
||||
$name = $conn->escape_string($_POST["name"]);
|
||||
$email = $conn->escape_string($_POST["email"]);
|
||||
$comment = $conn->escape_string($_POST["comment"]);
|
||||
$data = array(
|
||||
'secret' => $secretkey,
|
||||
'response' => $_POST['h-captcha-response']
|
||||
);
|
||||
|
||||
$sql = "INSERT INTO comments (name, email, comment, article) VALUES ('$name', '$email', '$comment', '$article')";
|
||||
$verify = curl_init();
|
||||
curl_setopt($verify, CURLOPT_URL, "https://hcaptcha.com/siteverify");
|
||||
curl_setopt($verify, CURLOPT_POST, true);
|
||||
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
|
||||
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
|
||||
$response_ = curl_exec($verify);
|
||||
$responseData = json_decode($response_);
|
||||
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
header("Location: $ref");
|
||||
|
||||
|
||||
if($responseData->success) {
|
||||
|
||||
$ref = $_SERVER["HTTP_REFERER"];
|
||||
$article = $conn->escape_string(explode(".php", explode("Projekte/", $ref)[1])[0]);
|
||||
$name = $conn->escape_string($_POST["name"]);
|
||||
$email = $conn->escape_string($_POST["email"]);
|
||||
$comment = $conn->escape_string($_POST["comment"]);
|
||||
|
||||
$sql = "INSERT INTO comments (name, email, comment, article) VALUES ('$name', '$email', '$comment', '$article')";
|
||||
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
header("Location: $ref");
|
||||
} else {
|
||||
echo "Error: " . $sql . "<br>" . $conn->error;
|
||||
}
|
||||
} else {
|
||||
echo "Error: " . $sql . "<br>" . $conn->error;
|
||||
echo "Failed to verify captcha.";
|
||||
}
|
Loading…
Reference in a new issue