应用程序报告当前密码到期前剩余的天数是否不安全?
例如,如果密码每30天到期,如果应用程序告诉您密码将在5天后过期(当然您已登录后)。
或者,应用程序是否可以存储一个cookie,告诉应用程序在密码到期前3天开始建议更改密码?
这些都会被视为不良做法吗?
答案 0 :(得分:0)
我认为如果您需要告诉用户密码在这么多天后到期,您应该在登录完成后创建一个页面。
例如,如果您有一个页面是您的登录表单,那么它将转到另一个脚本,该脚本在成功登录时重定向到主页。
您可以使用页面上的<meta http-equiv="refresh" content="5; URL=/">
向用户提供五秒钟的时间来读取页面,并显示用户在密码到期之前的天数,而不是立即重定向。
但请确保邮件仅在登录后显示,否则黑客可以读取登录页面的内容,以查明密码何时需要更改。
广告@米
答案 1 :(得分:0)
我认为告诉用户密码何时到期是不安全的 - 至少我看不出它如何能够真实地帮助攻击者。无论如何,这是常见的做法 - 正如亚当提到的那样,Windows本身就是这样做的。
答案 2 :(得分:0)
请参阅Bruce Schneier关于Changing Passwords的博客文章。
密码到期的主要原因是使受损密码过期;告诉用户(或攻击者)它将过期并不会改变这一点。 所做的做的是告诉攻击者在截止日期前妥协其他内容;这是否存在风险取决于是否存在此类攻击者(我希望首先要做的就是安装rootkit)。
安全性好处是给用户一些时间(例如一周)来考虑新密码。如果我不急于完成工作,我可以在一两分钟内拿出一个不错的密码;否则我只会在最后增加一个计数器。 每个人都这样做。
我的感觉是,有效地说“在下周的某个时候,想到一个新密码”的好处超过了潜在的风险,但30天太短了。我实际上只需要记住一些密码(手机,笔记本电脑+ root,家庭服务器+ root,工作电脑+服务器,密码安全);改变其中任何一个都是乏味的。
有多种方法可以确保用户不选择与旧密码相关的密码;没有一个特别好。