【问题标题】:Trimming whitespace from usernames and passwords [closed]从用户名和密码中修剪空格[关闭]
【发布时间】:2012-03-30 06:27:00
【问题描述】:

我正在开发的 iPad 应用程序要求用户提供经过服务器验证的用户名和密码,然后才能正确进入应用程序。我正在考虑进行细微的更改,以便在用户名和密码的开头和结尾处的空格被静默忽略。

好主意?馊主意?担任职位的原因?

这是在我今天向客户展示产品并难以登录之后发生的。经过 3 次尝试后,我终于意识到我设法在我的用户名前添加了一个空格,当然,这并没有匹配服务器上的任何用户名。在 iPad 上文本字段的开头有一个额外的空间,宽度有一个非常非常微妙的差异,因为无论如何字段边框与第一个字符隔开,我花了一些时间才注意到。

【问题讨论】:

  • 我猜这取决于身份验证逻辑。如果服务器允许名称中有空格怎么办?
  • 我也可以控制服务器。如果我从一个中删除空白,我将对另一个执行相同的操作。

标签: ios authentication whitespace security-trimming


【解决方案1】:

我认为修剪空格是一种很好的做法,因为它们通常被认为是无效的用户名/密码符号(用户很容易错过它们,尤其是当他们使用多个时)。

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

【讨论】:

  • 所以您主张修剪所有空白,而不仅仅是在开头和结尾找到的空白?我想这是有道理的。
  • 我的代码示例中的函数修剪(仅从开头和结尾删除)空格,但我个人认为不应允许用户名和密码中的空格。
  • 在过去的几年里长大了,我应该提到我对“无效”符号的“建议”并不是很好。我不提倡仅仅为了我个人的方便而阻止人们使用某些东西,尤其是在涉及安全相关数据的情况下。
  • 我不太确定密码。至少您应该提供错误消息并禁止使用前导/尾随空格保存密码,以使用户清楚您的政治。另请阅读此答案stackoverflow.com/a/7240898/1343917
猜你喜欢
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 2015-07-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-06
  • 2014-02-21
  • 1970-01-01
相关资源
最近更新 更多