【问题标题】:Store email password in a shared server database将电子邮件密码存储在共享服务器数据库中
【发布时间】:2018-01-21 09:58:50
【问题描述】:

我正在使用 php 为服务器端代码构建一个应用程序,目前客户拥有一个与 linux 和一个 mysql 数据库共享的服务器(是的,我知道这是一个糟糕的解决方案,但他们不想花更多的钱钱)。

问题是:他们要求我将他们的电子邮件地址和相关密码存储在应用程序中,这样他们就可以从不同的地址联系他们的客户,而无需每次都输入密码,但我的问题是:如何? 我的意思是,如果我使用单向加密会更安全,但我每次都要询问密码才能验证,双向加密更舒服,但不安全。

【问题讨论】:

  • 为什么他们需要您存储密码才能联系客户?您的意思是存储员工电子邮件帐户的登录详细信息吗?如果是这样,使用 LastPass 之类的东西会是更好/更安全的解决方案。
  • 嘿@MattChad。您可以使用加密包或库来管理您的敏感数据。像 Laravel 这样的现代 php 框架实现了 .env 文件来存储加密密钥。借助加密密钥,PHP 代码可以加密/解密并将其保存在数据库中
  • 这里的问题是您正在存储客户的电子邮件凭据,以便他们可以使用自己的地址通过您的 UI 向他们自己的客户发送邮件,对吗?
  • 是的,想想“微型雷鸟”。他们想使用 UI 向客户发送电子邮件,因此每次输入密码都很烦人(我可以看到)。但是,嘿,我们在一个共享系统上,他们不想理解:/

标签: php mysql encryption password-encryption


【解决方案1】:

双向加密将是执行此操作的方法。如果客户不想输入密码,那么系统必须能够。

但这没关系。因为这些不是用户密码。这些是系统密码。它们可以像您想要的那样复杂且难以记住,因为它们实际上从未由用户输入。它们不会被同一用户在其他系统上重复使用(这是关于用户密码的最不安全的事情之一,以及为什么能够读取它们是危险的)。

这里的技术问题是次要的,只需对静态数据(存储密码的数据库)使用良好的加密。这里真正关心的是教育您的客户并建议他们这是如何工作的。密码是可检索的,因此它们应尽可能随机且不可用。

【讨论】:

  • 非常感谢 :) 是的,我知道这些不是使用密码,我担心有人可以破解数据库然后检索密码:P 我正在考虑使用 AES 作为 anc。方法,你觉得这样好吗?
猜你喜欢
  • 2011-12-15
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多