对于在我们的网站上注册时将用户名和密码发送到他们的电子邮件地址,您的意见是什么? 这样,如果他们将来忘记密码,他们可以在电子邮件中查找。同时,我们也不必实现忘记/重置密码的场景(我们即将发布)。
这种方法足够安全吗?
- 我的第二个问题基本上是关于我们的网站,用户填写某些表格并输入一些信息,例如他们的姓名,地址,电话号码,收入信息等个人信息。最后,当他们提交申请时,我们考虑向他们发送所有这些信息的摘要,例如其名称,地址等,以便他们记录。
这样可以吗?足够安全吗?有哪些顾虑?
对于在我们的网站上注册时将用户名和密码发送到他们的电子邮件地址,您的意见是什么? 这样,如果他们将来忘记密码,他们可以在电子邮件中查找。同时,我们也不必实现忘记/重置密码的场景(我们即将发布)。
这种方法足够安全吗?
这样可以吗?足够安全吗?有哪些顾虑?
永远不要在明文中发送密码或其他敏感信息。这包括电子邮件。您还应该尽可能少地以可恢复的格式存储此类信息。未加密的通信,特别是电子邮件,很容易被篡改,你不希望错误的人获取密码。
如果可能:
将密码存储在加盐哈希中,以使原始文本无法恢复,因此除了暴力攻击之外无法破解。如果用户忘记了他/她的密码,请让他们重置密码并通过电子邮件发送一个临时密码(他们需要在登录后更改密码)或确认链接(再次提示设置新密码)。
永远不要通过电子邮件发送任何敏感信息;如果用户需要信息,请让他们去您的网站获取。您正在使用HTTPS,对吗?
我的经验法则是——如果您愿意在明信片上写下它并通过邮件寄出,那么这样的内容就适合普通电子邮件。对于大多数人来说,我不认为收入信息属于这个范畴。
至于密码,如果他们一开始就无法记住密码,他们将无法找到您发送给他们的带有密码的电子邮件,并且这相当于承认密码被以明文形式存储。我建议避免这种情况,并提供重置密码的手段,他们终究会需要它。
我同意最佳答案,并补充一点:每次我收到包含我的密码的注册确认电子邮件时,我会删除该电子邮件,并且强烈考虑再也不使用该网络服务。对我来说,这表明缺乏安全和隐私意识。
我告诉人们把电子邮件想象成明信片——在发件人和收件人之间处理邮件的任何公司员工都可以阅读它。
编辑:更新链接...关键是应用程序应该遵循最佳实践,允许用户重置自己的密码。应使用个人安全问题。应用程序不应发送电子邮件,显示密码,也不应设置任何临时密码。
大多数公司由于外部电子邮件客户端的安全性问题,通常不包括用户名密码组合。任何数量的用户都可以通过暴力破解或猜测另一个用户的电子邮件帐户密码,这将允许黑客查看您网站的电子邮件。然后黑客也可以对您的网站造成严重破坏。
List<string> files = new List<string>();
files.Add(originalFilePath);
string input = $"{body}";
string inputSubject = $"Your {subject}";
SendMessageAnswer answer = MessageHelper.EncryptMessage(new EncryptMessageArgs(GlobalSettings.bindingSecure, GlobalSettings.serial, GlobalSettings.ApiUser, GlobalSettings.ApiPassword, input, inputSubject + " - to open", recipient1, "", password, null, SecureExchangesSDK.SecureExchanges.SendMethodEnum.onlyEmail, false, true, true, "fr-CA", 1, 5)
{
FilesPath = files
});
if (answer == null || answer.Status != 200)
{
throw new Exception($"Impossible d'envoyé un message : {methodName}");
}