【发布时间】:2010-08-09 15:35:34
【问题描述】:
我正在使用 php 验证用户名、密码和电子邮件。我需要确保我做对了,这样没有人可以绕过登录页面。
这是价值观:
$email=$_POST['email'];
$username=$_POST['uname'];
$passwd=$_POST['pass'];
$passwd2=$_POST['passcopy'];
到目前为止,我有电子邮件验证:
if(!(preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $_POST['email'])))
die(msg(0,"You haven't provided a valid email"));
密码相等:
if ($passwd != $passwd2) {
die(msg(0,"Passwords are not equal"));
}
密码长度:
if ((strlen($passwd) < 8) || (strlen($passwd) > 16)) {
die(msg(0,"Your password must be between 8 and 16 characters. Please type in a longer password"));
}
我知道我需要验证用户名。我只想小写 a-z0-9 以避免人们使用类似的用户名?那么密码,我应该在密码中允许哪些字符?
附言。我还是不明白 preg_match 和 ereg。如果有人可以解释这个"/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+ 并为我的用户名和密码验证做一个 preg_match,那将非常有帮助。
【问题讨论】:
标签: php validation preg-replace preg-match