Ik heb de $conn->real_escape_string nog staan omdat ik dat nog niet helemaal snap, maar ben nu een tutorial aan het volgen over het beveiligen van je scripts in het algemeen dus ook met htmlspecialchars enzo
De "if trim" heb ik alleen bij username, omdat de rest niet uitmaakt en de mail word al gecheckd.
<?php
include("config/database.php");
if(isset($_POST["submit"])){
$ip = $_SERVER['REMOTE_ADDR'];
$var = " ";
$url = "https://
www.google.com/recaptcha/api/siteverify";
$privatekey = "--------------";
$response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST["g-recaptcha-response"]."&remoteip=".$_SERVER["REMOTE_ADDR"]);
$data = json_decode($response);
$checkusername = $conn->real_escape_string($_POST["username"]);
$checkusernamesql = "SELECT * FROM users WHERE username='".$checkusername."'";
$resultcheck = $conn->query($checkusernamesql);
$error = array();
if(isset($data->success) AND $data->success==false){
$error[] = "Captcha fout!";
} else {
if (trim($var)!=($_POST["username"])){ //Check username
$error[] = "Deze gebruikersnaam kan niet!";
} else {
if($resultcheck->num_rows>=1){
$error[] = "Gebruikersnaam al ingebruik!";
} else {
$username = $conn->real_escape_string($_POST["username"]);
}
}
if (empty($_POST["name"])){ //Check name
$error[] = "Vul je naam in!";
} else {
$name = $conn->real_escape_string($_POST["name"]);
}
if (empty($_POST["password"])){ //Check password
$error[] = "Vul je wachtwoord in!";
} else {
if(($_POST["password"])!=($_POST["password2"])){ //check password is het zelfde
$error[] = "Je wachtwoord is niet het zelfde";
} else {
$password = $conn->real_escape_string(hash("sha512", $_POST["password"]));
}
}
if (empty($_POST["email"])){ //Check email
$error[] = "Vul een Email in!";
} else {
if (filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)){ //Check geldige email
$email = $conn->real_escape_string($_POST["email"]);
} else {
$error[] = "Vul een geldig Email in!";
}
}
}
if (empty($error)){
$conn->real_escape_string($sql);
$sql = ("INSERT INTO users (ip, username, name, password, email) VALUES ('$ip', '$username', '$name', '$password', '$email')");
$result = $conn->query($sql);
if (!$result){
echo "Error";
} else {
echo "Geregistreerd!";
}
} else {
echo "Error: ";
foreach ($error as $key => $value) {
echo $value;
echo " ";
}
}
}
$conn->close();
?>
Ik begin php nu een beetje te leren, alleen dat beveiligen enzo dat is nog een pain in the ass