我应该在我的用户名中允许表情符号吗?

Posted

技术标签:

【中文标题】我应该在我的用户名中允许表情符号吗?【英文标题】:Should I allow emojis in my usernames? 【发布时间】:2017-10-01 03:15:24 【问题描述】:

我正在为我的移动应用程序实施一个新的用户身份验证系统,并正在构建我的用户名规则,即少于 40 个字符、字母数字等。当我考虑为什么我应该只将其限制为字母数字时。

从应用程序视图来看,我没有任何问题 - 他们可以使用表情符号和外来字符,我只关心它们。我一直在试图找出为什么我不应该允许它的原因,但想不出任何好的理由,除了如果它只是一个表情符号,用户按用户名搜索可能是不直观的。还有其他我忽略的原因或地雷吗?我使用 GraphCool 作为我的后端即服务。

【问题讨论】:

是的,您当然可以添加表情符号。与 Emojis 一样,对于数据库,与字符串值相同。 这让我想起了Emojli。他们在this video 分享他们的一些经验。我从他们那里得知这是可能的,只是……期待边缘情况并小心在任何地方使用 UTF8 :-) 【参考方案1】:

如果它以任何方式难以登录 - 比如用户无法从某些键盘访问表情符号,那么不会。

【讨论】:

【参考方案2】:

理论上没有问题。 理论上 unicode 有效。在实践中,它设法使许多 ios 设备崩溃。

也很高兴知道:https://security.stackexchange.com/questions/95847/advantages-to-alphanumeric-only-usernames

我不建议只允许任何字符作为用户名。您可以允许一些选定的字符,但允许任何字符都可能存在安全风险。

【讨论】:

以上是关于我应该在我的用户名中允许表情符号吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在文本字段中允许和获取拟我表情贴纸

Discord.js 发送表情符号

如何使用 Telegram Bot API 发送表情符号?

android studio 从默认键盘打开表情符号键盘

将表情符号备忘单转换为安卓表情符号?

VS Code Windows 7 中的彩色表情符号