第5章
避开客户端控件


第1章中,我们提到,由于客户端可提交任意输入,Web应用程序的核心安全因此受到威胁。尽管如此,大部分的Web应用程序仍然依靠在客户端执行各种措施,对它提交给服务器的数据进行控制。通常,这种做法造成一个基本的安全缺陷:用户能够完全控制客户端和由其提交的数据,并可以避开任何在客户端执行但服务器并不采用的控件。

应用程序依靠客户端控件限制用户输入表现在两个方面:首先,应用程序可通过客户端组件,使用某种它认为可防止用户修改的机制传送数据。其次,应用程序可在客户端执行保护措施,控制用户与其客户端的交互,从而对功能实施限制,并(或)在提交用户输入之前对这些输入进行控制。我们可通过使用HTML表单功能、客户端脚本或浏览器扩展技术实现这种控制。

我们将在本章中举例说明各种客户端控件并分析避开这些控件的方法。