【发布时间】:2014-04-04 13:15:03
【问题描述】:
StackOverflow 上关于保护用户/密码表单、保护管理部分的许多问题。
对于这篇文章,我创建了一个简单的用户密码表单。
我希望使用最佳实践并提高此表单的安全性..
特殊性:
- 没有数据库
- 仅 1 个用户/密码
- 1 个简单的安全页面
我知道我们错过了蛮力系统,但没有这个功能,
(没有 MYSQL 或数据库)
** 这个例子有效
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; ?>
【问题讨论】:
-
我希望使用最佳实践并提高此表单的安全性。
-
您想提高安全性吗?让您的密码复杂化,老实说,这就是您所能做的。您可以尝试通过将失败的尝试保存到会话来实现伪暴力限制器,并且如果计数高于 3 即不显示表单,即
-
@MarkS 会话与暴力限制器无关,你知道
-
@YourCommonSense 我知道,这就是为什么我说它是一种伪安全,只是一个不使用 db 的想法
-
@MarkS 但它甚至不是“伪”,它根本没有安全性。无论如何,使用相当好的密码不会有暴力破解的问题