Php 我的表格安全吗?
我一直在努力阅读很多关于如何获得一个安全的html表单来给我发邮件。我已经创建了一个表单,但我对它的安全性很好奇。我还没有添加电子邮件控件 因为它将出现在一个网站上,我害怕任何注射。到目前为止,我所做的是使用htmlentities()来保护操作,使用了w3学校的test_输入函数,并使用了require函数,但我知道这很容易去掉 提前谢谢Php 我的表格安全吗?,php,html,forms,Php,Html,Forms,我一直在努力阅读很多关于如何获得一个安全的html表单来给我发邮件。我已经创建了一个表单,但我对它的安全性很好奇。我还没有添加电子邮件控件 因为它将出现在一个网站上,我害怕任何注射。到目前为止,我所做的是使用htmlentities()来保护操作,使用了w3学校的test_输入函数,并使用了require函数,但我知道这很容易去掉 提前谢谢 <?php // define variables and set to empty values $name = $
<?php
// define variables and set to empty values
$name = $email = $gender = $comment = $website = "";
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$website = test_input($_POST["telnr"]);
$comment = test_input($_POST["message"]);
echo"Bedankt voor het invullen, we nemen zo snel mogelijk contact met u op.";
}
else{
?>
<form action="<?php echo htmlentities($_SERVER["PHP_SELF"]);?>" method="post">
<div class="form-group row">
<label for="inputEmail3" class="col-sm-2 col-form-label">naam</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" placeholder="naam" required>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">e-mail</label>
<div class="col-sm-10">
<input type="email" class="form-control" name="email" placeholder="e-mail" required>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">tel.nr</label>
<div class="col-sm-10">
<input type="tel" class="form-control" name="telnr" placeholder="telefoonnummer" required>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">bericht</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="message" placeholder="bericht" required>
</div>
</div>
<div class="form-group row text-center">
<div class="offset-sm-2 col-sm-10">
<button type="submit" class="btn btn-primary">Verstuur bericht!</button>
</div>
</div>
</form>
<?php } ?>
当然很好,但是,除非您需要它提供的可移植性,否则您可以将事情简化一点,并对表单目标进行硬编码。它的作用是什么?您似乎没有发送或保存数据。如上所述,它没有任何作用。构成表单邮件的行仍然需要添加。有预定义的函数来清理输入:(替换自定义的test\u input()
)谢谢,我将开始使用它!