话接上回,今天让我们康康
PHP 表单验证
PHP表单验证就是网页的防火墙
因为是web是直接提交命令,就会给黑客留有sql的可乘之机
所以我们需要对获得的表单进行验证
比如 提交的是名字 就必须只能包含字母和空格
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["name"]))
{
$nameErr = "名字是必需的";
}
else
{
$name = test_input($_POST["name"]);
// 检测名字是否只包含字母跟空格
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameErr = "只允许字母和空格";
}
}
}
比如 提交的是网址 就必须包含一个有效的URL
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["website"]))
{
$website = "";
}
else
{
$website = test_input($_POST["website"]);
// 检测 URL 地址是否合法
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
{
$websiteErr = "非法的 URL 的地址";
}
}
比如 提交的是E-mail 就必须包含是一个有效的电子邮件地址(包含'@'和'.') if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["email"]))
{
$emailErr = "邮箱是必需的";
}
else
{
$email = test_input($_POST["email"]);
// 检测邮箱是否合法
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailErr = "非法邮箱格式";
}
}
}
今天就到这里,告辞