【发布时间】:2014-04-08 09:45:56
【问题描述】:
我可以让它来验证我的电子邮件地址,但它并没有对其进行清理,例如,当我进行一个简单的测试并在电子邮件地址输入字段中输入诸如 joeschm//oe@yahoo.com 之类的电子邮件时,我收到一封电子邮件,说明电子邮件地址来自 joeschm//oe@yahoo.com。
以下是相关代码:
//form validation vars
$formok = true;
$errors = array();
//form data
$email = $_POST['email'];
//validate email address is not empty
if(empty($email)){
$formok = false;
$errors[] = "You have not entered an email address";
//validate email address is valid
}elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$formok = false;
$errors[] = "You have not entered a valid email address";
//if email address input field is not empty and the email is valid, sanitize the email
}else{
filter_var($email, FILTER_SANITIZE_EMAIL);
$formok = true;
}
【问题讨论】:
-
RTFM: filter_var() 返回过滤后的数据。您根本没有捕获该返回值。
标签: php validation email xss sanitization