我有一个小的webApp,允许人们使用Express和Node.JS创建个人页面。每个页面都是一个对象,这意味着您可以使用new privatePage(name, pswd)
创建一个新对象,因此所有密码都存储在对象的pswd属性中。
我的问题是,它们在这里是否安全,还是很容易“破解”它们?
修改:我的密码平均最多只能存储24小时,因为如果页面在短时间内处于非活动状态,页面会自行删除。
答案 0 :(得分:1)
这取决于你如何定义“安全”。
作为安全性最佳实践,您应该假设RAM中没有任何安全措施。可能存在导致缓冲区溢出的漏洞的软件和操作系统代码错误,可以让熟练的攻击者控制服务器的内存段,包括敏感数据,如页面密码。值得注意的是,探索缓冲区溢出问题是一项艰巨的任务,但是如果存在Internet,任何人都可以创建任何script kiddies可以运行的工具。因此,最佳做法是将敏感数据短暂存储在内存中,以降低暴露于这类问题的风险。
现在,另一方面,您可能有一个非常可靠的策略来更新服务器上的安全补丁,并在宣布安全问题时尽快执行。在这种情况下,我会说你的风险较低,但它并没有消除100%黑客入侵的可能性。这就是为什么我首先要说它取决于你对环境的“安全”。
答案 1 :(得分:1)
他们绝对不安全。
使用bcrypt存储它们,这是世界上使用的最新和最好的哈希算法。如果您使用此密码,则存储在您数据库中的密码绝对安全。
希望这有助于你。