【发布时间】:2017-09-22 22:15:49
【问题描述】:
一个人可以来创建一个帐户。 我在客户端实现了很好的验证,例如,如果他没有提供有效的电子邮件地址,我会立即通知他这不是有效的电子邮件(使用客户端 JavaScript)。
但客户端验证很容易被攻击者绕过。所以我也在服务器端使用了相同的验证。但不同的是用户体验。例如,如果客户端的 JavaScript 被禁用并且用户提供了无效的电子邮件,应用程序只会告诉他错误(在提交表单并刷新页面之后)。没有更多信息。 (因为我假设他是攻击者,所以我的网站对于攻击者来说应该有糟糕的用户体验)。
现在我的问题是:如果我这样做,我的网站的用户体验会好吗? (在客户端向用户报告了很大的错误,但在服务器端却很糟糕,服务器端只会在提交整个表单以进行任何失败的验证后返回“错误”)。
更多解释:
当用户在输入中输入无效文本时,应用程序会在输入的底部用红色文本告诉他他没有输入有效文本。 (由于客户端 JavaScript 会发生这种情况)。
但是,如果客户端 JavaScript 以某种方式被禁用并且用户在输入中键入了无效文本,则服务器端将在页面提交后仅向用户返回“错误”。
【问题讨论】:
标签: javascript php validation security user-experience