如何以安全的方式处理Web应用程序中的ftp密码

时间:2012-06-12 00:46:34

标签: php mysql security passwords

我正在编写一个脚本(PHP + MySQL),它允许您通过FTP编辑文件。 我要做的是当用户登录并连接到我想记住ftp密码的服务器时,可以重复使用它来透明地重新连接到服务器(例如浏览文件时)。 出于安全原因,我不想将原始密码存储在数据库中。我在考虑将密码存储在cookie中,并参考数据库中的连接ID。但这听起来也不够安全。 如何在数据库中存储临时密码?

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以尝试asymmetric key system

  1. 生成公/私对
  2. 将私钥提供给用户
  3. 使用公钥加密密码并将其存储在数据库中
  4. 每次用户执行操作时,他们都会提供您提供的私钥
  5. 您使用私钥解密密码,执行操作,然后销毁内存中的私钥
  6. 应该更加安全,然后只依靠服务器自己加密/解密它。这不是100%万无一失(如果他们根据你的服务器,他们可以嗅私钥)但这是防止单方面攻击的好方法。至少,如果您的密码被泄露,任何旧密码都不会受到攻击,因为私钥会丢失。

    编辑正如sarnold所指出的,您也可以使用symmetric key system执行此操作。