我应该在注册页面查看姓名的长度吗?

时间:2013-10-15 18:20:12

标签: php validation string-length

我有一个更普遍的问题,不完全是关于我的代码。我正在为我的网站注册代码添加验证(检查长度和剥离非法字符)。但我想知道我是否先要求人名。持续。我应该检查名称字段上字符的长度吗?

如果是这样,名字的最小和最大长度是多少。我在想3-20个字符。但我真的不想限制名称,如果有人确实有一个超过20个字符的名称。任何反馈都会非常感谢:)。

1 个答案:

答案 0 :(得分:0)

我找到VARCHAR(32)作为名字,最后真正的名称字段就足够了,我建议他们做的唯一事情就是在插入之前运行htmlspecialchars()因为有些人合法地在他们的名字中有“奇怪”的重音或非ascii字符,大多数人不会考虑像preg_match('/[a-z]+/i', $name);这样的支票,以及参数化查询的组合[你正在使用那些,对吧]并且htmlspecialchars()应该保护您免受一阶和二阶注入攻击。

你可以使用iconv()将他们的名字音译/修改为ASCII,但是这会被击中和错过,再加上屁股的痛苦,加上有些人可能会冒犯它。

另一方面,如果您担心字段长度的空间效率,您应该知道VAR中的VARCHAR表示'可变长度'和VARCHAR(32)字段包含'Ted'只会占用4 bytes of storage