2024-06-01 21:17:09 发布
网友
什么是一个好的用户名正则表达式过滤器?[A-Za-z0-9 ]好吧,还是太死板了?我还应该找些什么呢?(修剪空白?)在
[A-Za-z0-9 ]
你对最初答案的评论才是真正的“问题”。在传输用户名时使用base64或其他任何编码很简单,但是如果允许用户选择任意的unicode用户名,他们可以很容易地模仿其他用户名。在
基本思想是,unicode有许多字符,虽然看起来相同,但编码方式不同。有关homograph attacks的详细说明,请参阅此处。不知道是否有任何库可以合理地处理这个问题,但是如果你想在那里有一个简单的正则表达式解决方案,你真的应该坚持一些有限的字符范围
在URL中使用用户名时,只需encode用户名。在
这对联合国来说是可以的,但是你可以让他们使用-、_、%、@和{}。(基本上,[a-zA-Z0-9._%+-])。许多人会喜欢使用他们的电子邮件作为用户名,这涵盖了超过99%的人。在安全级别较低的情况下,我说让他们去吧
-
_
%
@
[a-zA-Z0-9._%+-]
你对最初答案的评论才是真正的“问题”。在传输用户名时使用base64或其他任何编码很简单,但是如果允许用户选择任意的unicode用户名,他们可以很容易地模仿其他用户名。在
基本思想是,unicode有许多字符,虽然看起来相同,但编码方式不同。有关homograph attacks的详细说明,请参阅此处。不知道是否有任何库可以合理地处理这个问题,但是如果你想在那里有一个简单的正则表达式解决方案,你真的应该坚持一些有限的字符范围
在URL中使用用户名时,只需encode用户名。在
这对联合国来说是可以的,但是你可以让他们使用}。(基本上,
-
、_
、%
、@
和{[a-zA-Z0-9._%+-]
)。许多人会喜欢使用他们的电子邮件作为用户名,这涵盖了超过99%的人。在安全级别较低的情况下,我说让他们去吧相关问题 更多 >
编程相关推荐