Я делаю сайт с простой формой, где я могу получить некоторые данные для людей, которые хотят зарезервировать стол для викторины. Все отлично работает, но я не знаю много о безопасности для него. После моих собственных исследований я закончил с PDO для моего php-кода, но кто-нибудь знает, хорошо ли это? (все работает, это просто безопасность
ob_start();
include 'connect.php';
$naam = $_POST['naam'];
$email = $_POST['email'];
$personen = $_POST['aantal'];
$telefoonnummer = $_POST['phone'];
$bedrijf = $_POST['bedrijf'];
if($bedrijf != 1){
$bedrijf = 0;
}
if (empty($naam) || empty($email) || empty($personen) || empty($telefoonnummer)) {
header("Location: ../form.php?error=emptyfields");
exit();
} else if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
header("Location: ../form.php?error=invalidmail");
exit();
}
else if(!is_numeric($telefoonnummer)){
header("Location: ../form.php?error=invalidphone");
exit();
}
else{
$sql = "INSERT INTO aanmelding (naam, email, personen, telefoonnummer, bedrijf) VALUES (:naam, :email, :personen, :telefoonnummer, :bedrijf)";
$statement = $conn->prepare($sql);
$statement->execute([
'naam' => $naam,
'email' => $email,
'personen' => $personen,
'telefoonnummer' => $telefoonnummer,
'bedrijf' => $bedrijf,
]);
header("Location: ../form.php?succes=aanmelding");
exit();
}
<?php
$servername = ""; //here is good data for connection
$username = "";//here is good data for connection
$password = "";//here is good data for connection
try {
$conn = new PDO("mysql:host=$servername;dbname=DB3712239", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>