Tamper-Proofing the Design of HTML Forms
Original Publication Date: 2000-Dec-01
Included in the Prior Art Database: 2003-Jun-19
Disclosed is a technique to easily detect that the values of one or more hidden HTML fields in a form have been tampered with. The Web, as attractive as it is, has its fair share of limitations. One of the problems with the thin-client paradigm is that, because the HTTP protocol is stateless, so is the client. As a result, developing Web applications that maintain continuity across pages requires extra effort. Several techniques to achieve continuity between web pages have become common practice in the Web development community. One of these techniques is the use of hidden HTML fields to pass key information from one page to the next. For example, in a typical shopping checkout implementation you are likely to find hidden fields to pass key information about the items being purchased from the shopping cart page to the checkout page. The HTML source will look something like the following: INPUT NAME "Quantity_hidden" VALUE "1" TYPE HIDDEN INPUT NAME "Price_hidden" VALUE "49.99" TYPE HIDDEN This information is not visible on the page rendered by the browser, however, it is part of the Document Object Model (DOM) of the page and is available programmatically to any scripts and/or agents that process the page both on the client and on the server. As is the case with any web page programmability at the client-side, hidden fields can be tampered with before transmission to the server. Malicious users tamper with hidden fields to breach the intended functionality of the web application.