我有一个目前可以运行的网站。它有一个显示信息的页面,以及另一个允许您编辑信息源的页面。现在,当您登录 index.php 时,它会通过表单将数据发布到 view.php。该网站不使用任何cookies。当我单击编辑时,它会将用户名、密码和提交请求发布到 edit.php。目前,这个按钮效果很好,但编辑按钮的当前代码如下:
<FORM NAME ="form1" METHOD ="post" ACTION = "edit.php">
<p class="BodyText">
<INPUT TYPE = "Hidden" Name = "Username" Value = "<?php print($username); ?>">
<INPUT TYPE = "Hidden" Name = "PassHash" Value = "<?php print($password); ?>">
<INPUT TYPE = "Submit" Name = "Change" VALUE = "Edit">
</p>
</FORM>
我以前没有注意到,但现在我在查看代码时注意到它会打印密码。如果没有这个,我真的不知道如何获取编辑页面的密码,但是当我检查 Chrome 中的元素时,我可以看到密码哈希 (SHA-1)。首先,我认为是的,这是一个安全漏洞吗?其次,如何在不将哈希发送回最终用户的情况下将密码传递给 edit.php 页面。第三,我完全做错了吗?对我来说,通过帖子登录似乎没问题,但安全性疯了吗?我对 PHP 有点陌生,对安全性也完全陌生。