【发布时间】:2016-04-07 11:09:00
【问题描述】:
我一直在从头开始构建一个网站,虽然我有一些编码背景(尤其是 Python 和各种风格的 C),但我正在自学 html、php、sql 等等。
我非常希望能够向我的网站添加“管理视图”,以便我可以更轻松地添加和修改内容。我花了很多时间寻找一种安全的方法,隐藏在密码后面,但这似乎非常困难,甚至是不可能的。
由于我对 Internet 安全性的工作原理不完全了解,唯一的方法是让登录 php 文件包含来自 public_html 文件夹外部的 php 文件,该文件包含实际密码条目,该密码条目本身必须包含随机生成的方式修改密码输入说明,以防止任何人截获我输入的密码,以后无法使用它,然后解密输入的密码并将其发送到 public_html 文件夹之外的其他 php 文件,其中包含管理视图的基础结构.
鉴于我已经使用了几个需要输入用户名/密码的网站,这些网站使用了一种不那么复杂的方案来保护它们,我假设存在一个更好的系统。但是,任何足够坚定的攻击者都可以看到来自客户端的所有信息的主要问题似乎使这不可能。我错过了什么?
【问题讨论】:
-
使用
password_hash创建密码的哈希值,然后将其存储在某个地方。登录时,使用password_verify将提交的密码字符串与存储的哈希值进行比较。这样你就不会存储任何密码,你应该是“安全的”。您永远不应该在任何地方以纯文本形式存储密码,如果有人获得您的数据库的访问权限,或者由于某些错误配置/利用而可以读取密码文件怎么办? -
确保您的密码表单是通过 https 提交的
-
存储不是问题,传输才是。我的印象是任何监控网站的人都可以窃取哈希值,欺骗登录页面并通过这种方式获得访问权限,如果我只是这样做的话。
-
SSL 发挥作用的地方/时间。
-
@P...:您所描述的“安全”过程实际上没有任何意义,并且对保护网站没有任何作用。您真正需要做的就是使用加密通道 (SSL),并且永远不要存储可逆密码。