【发布时间】:2017-10-02 23:28:40
【问题描述】:
我正在为我工作的公司开发一个管理面板,并且想知道一些事情。我想增加员工的经验。我希望他们能够通过输入登录凭据连接到他们的电子邮件,然后在管理面板中阅读电子邮件。我需要帮助的是:
如果我建立 imap_open 连接,我需要纯文本密码(据我所知)。我无法将密码安全地保存在数据库中,因为我知道如果黑客掌握了数据将是一场灾难。
基本上,我想:
- 使用 ENCRYPTED 密码创建 imap_open 连接。最好使用 bcrypt。
你们中有人知道怎么做吗?我在谷歌上搜索过,甚至在 stackoverflow 上看到了其他一些问题,但我似乎无法找到问题的答案。我永远不会将密码保存为纯文本。而且仅使用 COOKIE 或 SESSION 似乎很麻烦.. 管理员始终登录他们的电子邮件,而我只想在登录时为适当的管理员帐户加载电子邮件。
【问题讨论】:
-
这怎么可能?
-
我见过一个 PHP 应用程序,它对数据库中的 imap 密码进行加密,并在需要时对其进行解密。但是,查看代码,恶意用户可以解密您的密码!如果不是关键任务,您能不能要求输入密码并将其存储在内存中,直到任务完成?
-
为什么不让他们输入密码来查看他们的电子邮件?我有一个应用程序,我必须在其中存储用户凭据。我使用非对称 RSA 加密。密码在发送给我之前在服务器端进行了加密,并在完全不同的服务器上解密以供以后使用。如果有人攻击 Web 服务器,除非他们跳转到我的应用服务器,否则他们不太可能恢复密钥。
-
我想要的,基本上是在登录到他们的管理员帐户时显示管理员帐户的最近电子邮件,其中所有的管理操作都已完成(创建博客条目,编辑员工).. 我不想要他们已经登录到他们的管理员帐户后再次登录,因为这不是那么用户友好..
-
如果您可以仅根据加密密码连接到邮件服务器,那么邪恶的黑帽攻击者也可以。攻击者无法恢复密钥,但也不需要。