从用户名和密码中删除空格

8
我正在开发的iPad应用程序需要用户提供用户名和密码,并在进入应用程序之前对其进行服务器身份验证。我正在考虑进行微小更改,使得用户名和密码开头和结尾处的空格被忽略。

是个好主意吗?不好的主意?请说明你的观点。

这是在今天向客户演示产品后出现的问题。我试图登录三次后才明白我一些怎么在我的用户名前面输入了一个空格。当然,这与服务器上的任何用户名都不匹配。在iPad上,在文本字段的开头添加额外的空格有非常微小的宽度差异,因为该字段边框已经从第一个字符分开,而且花费了一些时间才注意到这一点。


2
我猜这取决于身份验证逻辑。如果服务器允许名称中有空格,那怎么办? - beryllium
我也掌控着服务器。如果我从一个中删除空格,我也会对另一个执行相同的操作。 - Andrew
1个回答

49

我认为修剪空格是一个好习惯,因为它们通常被认为是无效的用户名/密码符号(用户很容易错过它们,特别是如果他们使用多个)。

NSString *trimmedString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

所以您主张修剪所有的空白字符,而不仅仅是在开头和结尾找到的吗?我想这是有道理的。 - Andrew
5
我的代码示例中的函数修剪(只删除开头和结尾的)空格,但我个人认为用户名和密码中不应允许空格。 - Alexander
1
在过去的几年中成长,我应该提到我的“建议”关于“无效”符号并不好。仅仅为了我的个人方便而阻止别人使用某些东西并不是我所倡导的,特别是涉及安全相关数据的情况。 - Alexander
2
我对密码不是很确定。至少你应该提供错误信息,并禁止保存带有前导/尾随空格的密码,以使你的策略清晰地传达给用户。还要阅读这个答案https://dev59.com/NWw05IYBdhLWcg3wcRYj#7240898 - Dmitry Gonchar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接