关于StackOverflow的许多问题关于保护用户/密码表单,保护管理部分。
对于这篇文章,我创建了一个简单的用户密码表单。
我希望使用最佳实践并提高此表单的安全性。
特殊性:
我知道我们错过了Bruteforce系统,但没有这个功能,
(没有MYSQL或DATABASE)
**此示例有效
if(isset($_POST) && isset($_POST["send"])):
$username = isset($_POST['username'])?$_POST['username']:'';
$password = isset($_POST['password'])?$_POST['password']:'';
$username = strip_tags( trim( $username ));
$password = strip_tags( trim( $password ));
if(preg_match('/^[a-z\d_]{4}$/i', $username) && $username=='user' && preg_match('/^[a-z\d_]{8}$/i', $password) && $password=="password"):
$_SESSION["login"] = 1;
else:
unset($_SESSION["login"]);
endif;
endif;
if(!isset($_SESSION['login']) || !$_SESSION['login']):
?>
<form class="login" action="<?php echo "http://" . $_SERVER["SERVER_NAME"] . $a; ?>" method="post">
<input type="text" name="username" placeholder="username" /><br>
<input type="password" name="password" placeholder="password" /><br>
<button name="send"><span>Send</span></button>
</form>
<?php else: ?>
<p>Win !</p>
<?php endif; ?>
答案 0 :(得分:0)
1)创建随机字符串
2)使用phpass library
来获取数据。将其存储在数组中。
https://phpbestpractices.org/#passwords
3)同时验证检查数组中是否存在加密密码。
注意:这纯粹是针对你所描述的场景,虽然不推荐
答案 1 :(得分:-1)
摆脱你放入的所有无意义的东西
session_start();
if(isset($_POST['password']) && $_POST['password'] == 'pass')
{
$_SESSION["login"] = 1;
}
if(empty($_SESSION['login'])):
?>
<form class="login" method="post">
<input type="password" name="password" placeholder="password" />
<button name="send"><span>Send</span></button>
</form>
<?php exit; endif; ?>