Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 如果用户名不可用,如何在注册期间建议其他用户名?_Language Agnostic - Fatal编程技术网

Language agnostic 如果用户名不可用,如何在注册期间建议其他用户名?

Language agnostic 如果用户名不可用,如何在注册期间建议其他用户名?,language-agnostic,Language Agnostic,如果用户选择了无效的或现有的用户名,我如何建议备用用户名列表 这些建议一定有些关联。我需要使用一个可能的用户名词典吗? < P>这完全取决于你认为的“相关”。很难为用户名定义这样的含义,因为它们通常不是普通的英语单词。您可能希望通过添加一个随机的数字流,或者通过将一些字母更改为数字(“e”到“3”等)来创建一个唯一的用户名。如果你想用你所说的“相关”来更新你的问题,我会尝试解决这个具体问题。坏主意。泄露相关用户名可以让熟练的攻击者推断出正在使用哪些用户名 即,如果我尝试注册“RandomUser

如果用户选择了无效的或现有的用户名,我如何建议备用用户名列表


这些建议一定有些关联。我需要使用一个可能的用户名词典吗?

< P>这完全取决于你认为的“相关”。很难为用户名定义这样的含义,因为它们通常不是普通的英语单词。您可能希望通过添加一个随机的数字流,或者通过将一些字母更改为数字(“e”到“3”等)来创建一个唯一的用户名。如果你想用你所说的“相关”来更新你的问题,我会尝试解决这个具体问题。

坏主意。泄露相关用户名可以让熟练的攻击者推断出正在使用哪些用户名

即,如果我尝试注册“RandomUser”,系统建议使用的是:

RandomUser1
RandomUser2
RandomUser3
RandomUser5
然后我可以合理地推测RandomUser4是一个有效的用户名。

看看这个:


它的构建使用Ajax和JSON。我相信您将能够使其适应您的技术。

只需在用户选择的用户名中添加更多信息即可。如果您还收集了生日等信息,您可以在当年添加:

用户->用户1985

或者,如果你得到了一个名字:

用户->jose_用户


不要使用“自动”信息,因为这会使攻击者很容易推断出有效的用户名。

或者我应该在单词之间添加下划线/点/连字符,附加一些随机数并呈现给用户?确切地说,这些都是有效的选项。这完全取决于你。我会避免Visage所指出的,虽然我不同意这是一个很大的安全风险,但任何潜在的风险都应该避免。好吧,这可能是一个坏主意,也可能是一个好主意,这取决于你的系统?他们可以通过尝试注册来推断任何名称都是有效的用户名。实际用户名不太可能是您的弱点。然而,每一点安全性都很重要,所以我同意连续数字是个坏主意。。。这就是为什么我会用一个随机数来代替。假设一个黑客知道帐户持有人的名字,他想猜他的用户名。。。在尝试各种用户名时,他可能会找到正在使用的其他用户名,或者他可能会找到可用用户名的列表[从而将它们从可能的用户名列表中勾选出来],但他使用这些用户名的目的是什么?当然,如果您的用户使用的是不安全的密码,那么这可能是一个相当大的安全风险,但只要您强制他们使用正确的字母数字+符号密码,攻击者是否收集有关用户名的信息并不重要。当然,正如我在评论中所说的,避免这种方法仍然是一个好主意——但是我下面建议的方法或者你在评论中添加的方法没有错。仅仅用户名是没有用的,但是获取用户名通常是第一步。不管怎么说,答案看起来像是一种过分的杀伤力或是一种极端偏执的方法。。。