输入验证PHP
我有一个非常基本的php表单,我正在寻找更新 它用于在web应用程序上注册新用户 问题在于缺少验证,密码可以是任意长度的字符 有谁能帮助我,或者为我指出正确的方向,告诉我如何在表单上强制执行最小密码长度或复杂性 代码是:输入验证PHP,php,apache,web-applications,password-protection,Php,Apache,Web Applications,Password Protection,我有一个非常基本的php表单,我正在寻找更新 它用于在web应用程序上注册新用户 问题在于缺少验证,密码可以是任意长度的字符 有谁能帮助我,或者为我指出正确的方向,告诉我如何在表单上强制执行最小密码长度或复杂性 代码是: <h1>Register</h1> <p>Please enter your details below to register.</p> <form method="post" action="register.php
<h1>Register</h1>
<p>Please enter your details below to register.</p>
<form method="post" action="register.php" name="registerform" id="registerform">
<fieldset>
<label for="username">Username:</label><input type="text" name="username" id="username" /><br />
<label for="password">Password:</label><input type="password" name="password" id="password" /><br />
<label for="email">Email Address:</label><input type="text" name="email" id="email" /><br />
<input type="submit" name="register" id="register" value="Register" />
</fieldset>
</form>
寄存器
请在下面输入您的详细信息以进行注册
用户名:
密码:
电子邮件地址:
查看此线程,以便对密码字符串进行字符验证:
对于字符串长度:
下面是一个延迟示例,强制密码至少包含一个大写、小写和数字。。只是为了让你开始
<?php
$pass1 = 'adsda';
$pass2 = 'asds3q3';
$pass3 = 'adsDd2d';
function pass_complexity($pass, $len) {
$c = [];
$array = str_split($pass);
foreach ($array as $l) {
if (ctype_digit($l)) {
$c['d'] = 1;
}
if (ctype_upper($l)) {
$c['u'] = 1;
}
if (ctype_lower($l)) {
$c['l'] = 1;
}
}
return strlen($pass) >= $len && count($c) == 3;
}
if (pass_complexity($pass3, 2)) {
echo 'password ok';
} else {
// password should have at least 1 upper, 1 lower 1 number and
// and must be at least more than 2 digits in length
}
这取决于您想要为密码强制使用什么字符。您的表单由文件register.php根据您自己的代码进行处理。因此,我建议您只需执行您想要应用的检查。