实施密码恢复最佳实践

2023-12-25

我想在我的网络应用程序中实现密码恢复。

我想避免使用秘密问题。

我可以通过电子邮件发送密码,但我认为这会有风险。

也许我可以生成一个新的临时随机密码并通过电子邮件发送,但我认为这与上述观点一样有风险。

例如,我可以通过电子邮件发送网址吗http://example.com/token=xxxx http://example.com/token=xxxx其中 xxxx 是与用户关联的随机令牌。因此,当用户导航到该网址时,他/她可以重置密码。


当我在空军时,我们的安全规则是:设置或重置密码时,不要在同一封电子邮件中发送用户 ID 和密码。这样,如果有人拦截窥探密码的电子邮件,他必须成功拦截这两封电子邮件,并能够连接它们,从而破坏安全性。

我见过很多网站都使用“转到此 URL 来重置您的密码”。也许我遗漏了一些东西——我并不声称自己是安全专家——但我不认为这比仅仅发明一个新的临时密码并发送它更安全。如果黑客拦截了电子邮件,为什么他不能像合法用户一样访问该链接并查看新密码?在我看来,这给用户带来了额外的麻烦,而且没有任何安全保障。

顺便说一句,恭喜您没有使用安全问题。我不明白这个装置的逻辑。自计算机安全诞生以来,我们一直告诉人们,“不要创建黑客可以发现或猜测的有关您自己的信息的密码,例如您高中的名称或您最喜欢的颜色。黑客可能能够查找您高中的名称,或者即使他们不认识您或对您一无所知,如果您仍然住在您上学的地方附近,他们可能会通过尝试当地学校直到找到为止。少量可能最喜欢的颜色,这样黑客就可以猜到。等等。相反,密码应该是字母、数字和标点符号的无意义组合。但现在我们也告诉他们,“但是!如果你很难记住字母、数字和标点符号的无意义组合,没问题!获取一些你可以轻松记住的有关你自己的信息 - 例如你高中的名称,或您最喜欢的颜色 - 您可以使用它作为“安全问题”的答案,即作为替代密码。”

事实上,与您一开始就选择错误的密码相比,安全问题更容易让黑客得逞。至少如果您只是使用一条个人信息作为密码,黑客不一定知道您使用的是哪条个人信息。你用过你的狗的名字吗?你的出生日期?你最喜欢的冰淇淋口味?他必须尝试所有这些。但通过安全问题,我们可以准确地告诉黑客您使用哪条个人信息作为密码!

与其使用安全问题,我们为什么不直接说:“如果您忘记了密码,密码会显示在屏幕底部。如果您试图侵入他人的帐户,绝对会被禁止向下滚动。”只是安全性稍差一些。

免得您怀疑,当网站询问我出生的城市或我的第一辆汽车的制造商时,我不会对问题给出实际答案。我给出了一个毫无意义的密码。

咆哮>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实施密码恢复最佳实践 的相关文章

  • Ansible 使用同步时提示密码

    我在用着ansible http www ansible com通过以下方式 ansible playbook f 1 my play book yaml ask pass ask sudo pass 之后我被要求输入 ssh 和 sudo
  • Wordpress 存储用户身份验证数据的方式背后有哪些细节?

    首先 让我定义最终目标 我想要 Wordpress 版本 2 8 来管理网站的身份验证数据 凭据和访问控制 该网站的大部分内容将使用 WordPress 但某些页面将在 Wordpress 环境之外构建 这些页面应该能够使用Wordpres
  • 如何在 django 中安全地存储第三方服务的密码?

    我正在 Django 上运行 Web 服务 用户注册到我的系统并向我提供第三方网络服务的登录详细信息 用户名和密码 我的目的是以最好 最安全的方式存储这些详细信息 不幸的是 我的服务需要这些数据来用于查询第 3 方服务的某些离线脚本 因此我
  • 如何安全地存储 Android KeyStore 密码

    在一个应用程序中 我使用 Android KeyStore 我已经为整个密钥库和每个密码条目设置了一个密码 由于这些密码是字符串 因此它们存储在代码中的字符串成员中 显然 如果我想发布应用程序 这是不安全的 因为潜在的攻击者可以反编译 ap
  • 如何用PHP生成随机密码?

    或者有没有自动生成随机密码的软件 只需构建一串随机数a z A Z 0 9 或者任何你想要的 直到所需的长度 这是 PHP 中的示例 function generatePassword length 8 chars abcdefghijkl
  • 在 python3 中使用用户设置的密码进行正确的数据加密

    我一直在寻找合适的数据加密库 用python好久了 今天又需要了 不行 找到任何东西 那么有什么方法可以使用 用户设置的密码 如果我发现一些通常不安全的东西 如果我找到一个好的解决方案 它不支持用户设置密码 这意味着我被困住了 有什么办法吗
  • 使用“read”读取密码时如何回显星号(*)?

    如果我想回显 我需要对 Bash 中的代码做什么 当用户在 using 中键入某些内容时 用 s 代替密码字符 甚至完全隐藏这些字符 read As 马克 鲁沙科夫指出 read s将抑制在提示符下键入的字符的回显 您可以利用该功能作为此脚
  • 有 JPasswordField 的替代方案吗?

    当输入如下密码时 yeast bulk seize is shows pain 每个人都可以听到敲击空格键的声音 因此在密码字段中显示空格似乎也是合乎逻辑的 所以我想要一些能够展示的东西 代替 这将使打字变得更容易 同时几乎不会降低安全性
  • 更新对象属性

    我正在使用 Struts 2 我的问题是我不想更新所有对象属性 因为我得到了一些敏感数据 这是我的代码示例 public class person private name private email private password 例如
  • 硬编码密码应该加盐/散列吗?

    StackOverflow 上有很多关于简单 无数据库登录系统的问题 我正要建议一种加盐哈希方法最近的一个 https stackoverflow com q 10688529 825789 当我想 这样做真的有意义吗 多年来 我一直在数据
  • 在 shell 中生成带有一个特殊字符的随机密码

    我有以下代码 urandom tr dc A Za z0 9 head c 16 这是完美地随机生成密码 我想要两个改变 它只能包含上面列出的一个特殊字符 它应该选择一个随机长度 我尝试过length RANDOM 8 9 然后将长度设置为
  • 如何在 Laravel 5.2 中手动发送密码重置请求?

    我想从控制器内手动向特定用户 不是当前登录的用户 发送密码重置请求 我在 Laravel 代码中做了一些挖掘 看来我应该调用postEmail Request request in ResetsPasswords 但我似乎不知道如何访问右侧
  • 使输入类型=“密码”在移动设备上使用数字键盘

    在我为移动设备设计的网站上 我有一个用于 PIN 码的输入字段 我希望在输入文本时隐藏文本 并且希望当移动设备上的用户想要输入 PIN 码时弹出数字键盘 当类型 数字 时 数字键盘会弹出 但当类型 密码 时 数字键盘不会弹出 并且我无法 或
  • 编写脚本以使用预定义密码创建多个用户

    所以我想制作一个从运行的 users txt 创建用户的脚本 useradd m s bin false users in the users txt 并填写passwords txt中的密码两次 以确认密码 这是脚本 bin bash A
  • 如何在MySQL 8.0.11中重置root密码?

    我实际上丢失了 root 密码 我需要更改它 我按照以下步骤操作 步骤 1 停止 MySQL 服务器进程 步骤 2 使用以下命令启动 MySQL mysqld 服务器 守护进程 skip grant tables 选项 这样就不会提示输入密
  • 密码恢复:如何解密 md5 加密的密码? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以解密 md5 哈希值 https stackoverflow com questions 1240852 is it possible to decrypt md5 hashes 在我的网站中
  • 在动态 Web 项目中处理配置(数据库登录名和密码等)的正确方法是什么?

    我刚刚开始使用 JSP 进行动态 Web 编程 处理配置的正确方法是什么 例如 数据库名称 主机 登录名和密码以及服务器中的索引目录等 我最关心的是密码的安全性 目前我将数据硬编码到 java 文件中 我认为这不是正确的方法 所以我想从您的
  • C# 中的密码恢复工具不起作用

    嗨 我对此还很陌生 我创建了一个门户 用户可以登录并在其中查看我制作的其他程序 问题是密码恢复似乎不起作用 我没有收到任何错误消息 我只是收到消息 我们无法访问您的信息 请重试 我已经正确设置了 ASP NET 配置 并使用不同的用户和权限
  • TeamCity 用户名/密码

    你好 我很久以前就在我的家用电脑上安装了 teamcity 我现在尝试再次重新使用它 但我忘记了管理员用户名和密码 是否有默认的管理员用户名 我怎样才能得到密码 Thank 在 TeamCity 8 中 您可以以超级用户身份登录并以这种方式
  • 从本地缓存恢复SVN密码

    有没有办法从本地缓存恢复密码 密码必须存储在某处 因为我可以运行 svn co http my svn server foo 但我自己丢失了密码 我是否必须重置它 或者是否可以 以及如何 找到并解密密码 我主要在 Windows 上使用 C

随机推荐

  • 如何在 PyQt4 中杀死单次 QtCore.QTimer?

    因此 在我的应用程序中 我创建了一个QtCore QTimer对象 然后调用singleShot方法在 60 秒后调用一个函数 现在 在任何给定的时间点 如果我需要致电singleShot再次使用该方法并防止以前的singleShot方法生
  • 文件 MD5 校验和

    In 这个问题 https stackoverflow com questions 392657 md5 hashing in delphi 2009提到了wcrypt2 我需要的只是计算文件的MD5 如果我可以计算它而不需要保存它那就完美
  • 中间件和 Blazor 组件的范围

    我正在开发服务器端 Blazor 应用程序 并遇到了有关范围服务的一些问题 为了简单起见 我使用默认的 Blazor 模板 带有计数器的模板 重新创建了我的问题 我有一个服务 CounterService 它将计数器初始化为 1 并公开该计
  • 无法设置经度从 -180 到 0 的 LatLngBounds

    当尝试设置新的 LatLngBounds 时 对于世界的西南四分之一 西南经度自动设置在世界的另一侧 导致 LatLngBounds 不一致 西南比东北更东 a new google maps LatLng 90 180 true a ln
  • 为什么 C#.net 中的表达式主体不能使用 int、double 或 bool 类型的属性?

    我有一个功能 private string GetPropertyName Expression
  • Xcode 无法解析依赖项 Firebase - GoogleAppMeasurement 与要求不匹配

    我是 Xcode 编码新手 我尝试在我的项目上安装 Firebase 但遇到一个错误 我不知道如何解决 我已遵循 Firebase 的所有说明 但仍然存在问题 首要问题 无法解析依赖关系 因为 GoogleAppMeasurement 没有
  • PluginApplicationException:无法应用插件类“FlutterPlugin”

    我遇到了奇怪的错误 升级 Android Studio 后 我创建了一个Android项目 运行成功 然后我尝试导入Flutter Module到这个Android项目 我有这些例外 块引用 原因 org gradle api intern
  • Qt 中的 ODBC 驱动程序使用

    我想使用读取和写入mdb文件 Ms Access 文件 我是全新使用的ODBC in Qt 那么有人可以帮助我知道我是否需要下载驱动程序 如果是的话我可以从哪里下载 如果您了解连接性 那么我们将提供任何帮助 如果您需要使用 Qt 访问 MS
  • scanf 并将 char 保留为整数

    我就是无法理解 Char 是整数 对吗 所以我可以做 int var scanf d var I 65 printf c var o A 为什么这样做是错误的 char var scanf d var I A printf d var O
  • eslint-config-airbnb 扩展名“.js”的文件中不允许使用 JSX

    我已经安装了eslint config airbnb https github com airbnb javascript tree master packages eslint config airbnb应该为 React 预先配置 ES
  • 如何在 Codesys v3 中创建指向函数的指针

    你能给我一个例子来说明如何在我的库中声明函数指针吗 如何将函数指针传递给外部库 TL DR 在 CoDeSys v3 中可以使用 Totes 而且非常简单 在 CoDeSys 中 函数 实际上是存储在函数表中的函数指针 在 CodeSys
  • NSMutableArray 无法添加到

    我以前也遇到过这样的问题 但没有得到满意的答案 我有一个视图控制器 它有一个名为 counties 的属性 它是一个 NSMutableArray 我将深入导航屏幕 找到有关选择县进行地理搜索的视图 因此 搜索页面会深入到 选择县 页面 I
  • 获取应用程序开发人员名称[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想获取应用程序开发人员的名称 请有人告诉我如何得到这个 我尝试过 但只能获取已安装的应用程序及其图标 我想显示开发者名称 要获取已安
  • 如何在 DB2 上的多个表上使用 WHERE 条件执行安全的“SELECT FOR UPDATE”?

    Problem 在 DB2 版本 9 5 上的 SQL 语句 SELECT o Id FROM Table1 o Table2 x WHERE FOR UPDATE WITH RR 给我错误消息SQLSTATE 42829 不允许使用 FO
  • 更新实体框架中的嵌套对象

    最近我发现 EF 不更新嵌套对象 几天来我试图弄清楚如何做到这一点 但不幸的是我遇到了这个问题 我有对象 public class ProjectEntity AuditableEntity
  • 如何获取 mapboxgl.GeoJSONSource 对象的边界框?

    我正在设置一个 Mapbox GL JS 地图 如下所示 mapboxgl accessToken pk my token var cityBoundaries new mapboxgl GeoJSONSource data http do
  • IP 地址转换为十进制,反之亦然

    假设我的十进制数是9766322441所以它对应的是70 30 65 9但是当这个IP地址IC转换回来时 它给出了一些不同的十进制数1176387849 当我转换 google com 的 IP 地址时 即64 233 187 99然后它给
  • 表格垂直标题?

    如何使表格标题作为列显示在表格左侧 而不是作为行显示在顶部 我有这个标记 table thead tr th a th th b th tr thead tbody tr td 1 td td 2 td tr tbody table 只需使
  • 插入查询:列名称或提供的值的数量与表定义不匹配

    这是一个自动递增 ID 接受时间输入并将总计列的默认值设置为零和日期列的默认值的表getdate CREATE TABLE OrderPlaced OrderID bigint IDENTITY 1 1 PRIMARY KEY Placed
  • 实施密码恢复最佳实践

    我想在我的网络应用程序中实现密码恢复 我想避免使用秘密问题 我可以通过电子邮件发送密码 但我认为这会有风险 也许我可以生成一个新的临时随机密码并通过电子邮件发送 但我认为这与上述观点一样有风险 例如 我可以通过电子邮件发送网址吗http e