5.5 授权最佳实践

我们已经介绍了许多Web应用授权攻击。现在,我们怎样减轻这些技术的危害?

在本章中,我们基本上将Web应用授权攻击分成两个阵营:服务器端ACL攻击和客户端令牌攻击。因此,我们的对策讨论也据此分为两个部分。

开始之前,应该列举一些通用的授权最佳实践。在本章中我们已经看到,授权攻击常常因为服务器漏洞(见第3章和第10章)和输入验证(第6章)而发生和加剧。因此,适用于这些潜在漏洞的对策对于阻止一些授权攻击也有正面的影响。

另一个最佳实践是为应用定义清晰、一致的访问策略。例如,设计包含应用功能角色的数据库。读、创建、修改、删除和访问就是这样一些角色。用户的会话信息应该明确地定义可以使用哪些角色。角色表看上去类似一个矩阵,每行定义一个用户,每列定义他们可能的角色。