清理Unicode输入的最佳实践

时间:2011-03-01 01:50:21

标签: unicode user-input

我目前正在开发一个Web应用程序(使用Ruby),我最终希望世界各地的人都可以使用它。考虑到这一点,支持非ASCII字符是必不可少的。但是,我不希望数据库在 username 等字段中充满“噪音”字符。

在不疏远用户的情况下,是否有任何可接受的最佳实践来处理Unicode输入?有关处理用户名中的同形异义词以使冒充更难的想法吗?

到目前为止我的一些想法 -

  • 在查询中存储或使用文本之前对文本进行规范化
  • 过滤不可打印的字符
  • 限制输入中允许的顺序组合变音符号的数量

还有什么想法,还是我为自己做了不必要的工作?

感谢。

1 个答案:

答案 0 :(得分:3)

http://www.ietf.org/rfc/rfc3454.txt会告诉你应该做什么,也就是担心规范化和安全问题。