【发布时间】:2019-03-20 09:56:53
【问题描述】:
我正在用一个简单的表格制作一个网站,我可以在其中为想要预订一张桌子进行测验的人获取一些数据。一切正常,但我对它的安全性知之甚少。在我自己的研究之后,我以 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();
}
?>
【问题讨论】: