我是一名web开发人员,在web开发中,我们被教导要做客户端和服务器端的验证。在Android编程中,我使用Toast进行客户端验证并显示消息。在将数据发送到web服务之后,
1)我是否应该继续执行验证(如密码字段至少包含6个字符、字母数字等)在web服务中。
在Android开发中,关于验证的最佳实践是什么?
发布于 2016-11-02 16:53:25
是的,您应该从服务器端进行验证。然后问题是为什么来了
客户端验证总是在提供更好的用户体验(UX)的意义上,因此用户不必仅仅因为表单中的值无效而提交和重新输入信息-它使事情变得更加动态。
如果不进行服务器端验证,用户可以做什么?任何事情,这取决于您如何使用他们的数据。目录遍历缺陷是顽皮的人非常常见的入口点),并随意提升他们的特权。你想冒这个风险吗?不验证用户输入就像信任别人,不在家里的上安装锁一样。
发布于 2016-11-02 16:54:17
是的,你绝对应该这样做!
假设您添加了除Android之外的其他客户端来与您的应用程序通信。然后,通过服务器端检查,您可以确保检查是一致的。否则,一致性就更难实现了。
例如:您添加一个网站作为额外的客户端(在您的应用程序旁边,就像一些messangers所做的那样),并通过JavaScript在客户端添加检查。用户禁用JavaScript并将垃圾桶放入您的数据库中!
另一个示例:添加iOS-Client。您的密码要求从6个字母更改为8个字母。现在,您必须修改和交付2个客户端,同时进行服务器端检查。你只需要更新你的网络服务。
这样你就能为更多的客户提供安全保障!
https://stackoverflow.com/questions/40375689
复制相似问题