28.06.2013 Views

Papers in PDF format

Papers in PDF format

Papers in PDF format

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Database<br />

2. Review of Related Work<br />

Query<br />

Rout<strong>in</strong>es<br />

Swap<br />

Secure<br />

Loop<br />

CGI<br />

HTTPD<br />

Users<br />

Figure 1: General System of Databases with Web Front-Ends<br />

2.1 Web Accessible Database Author<strong>in</strong>g Tools<br />

There are many tools available to create Web-accessible database applications. Many of these systems use<br />

some proprietary code comb<strong>in</strong>ed with HTML. The most comprehensive author<strong>in</strong>g tools that we have seen at<br />

this time are Sapphire/Web [Bluestone 1995], Cold Fusion [Allaire 1996], WebBase [ExperTelligence 1995],<br />

and Web.SQL [Sybase 1996]. Each of these tools follow a slightly different path. Some focus on ease of<br />

database queries, or facilitate the transfer of form <strong>in</strong><strong>format</strong>ion to the scripts; others provide mechanisms to<br />

<strong>in</strong>tegrate HTML, SQL, and Perl. Still, none of these packages deal with every component of Web/database<br />

design.<br />

It should also be noted that these products, when they support it, use proprietary techniques to ma<strong>in</strong>ta<strong>in</strong> state<br />

and provide password protection. In this paper, it is our <strong>in</strong>tention to expla<strong>in</strong> and formalize some of the<br />

techniques that could have been used by these products to achieve their results. Future developers should see<br />

that it is possible to efficiently create complex databases without the use of external libraries or licensed code.<br />

2.2 Ma<strong>in</strong>tenance of State and Password Protection<br />

Unless <strong>in</strong><strong>format</strong>ion can somehow be associated with a user, Web documents are stateless, mean<strong>in</strong>g that the<br />

execution of one CGI script will not effect the execution of another. [Gleeson & Westaway 1995] Two popular<br />

methods of impos<strong>in</strong>g state are the use of hidden fields and the use of ‘cookies.’ [Netscape 1996a] The greatest<br />

danger with hidden fields is that a malicious user can view the HTML and modify the data <strong>in</strong> the hidden<br />

fields. Cookies stored locally can also be modified and are not supported by all browsers.<br />

One solution is provided by a language called “L<strong>in</strong>da” created by Schoenfeld<strong>in</strong>ger. [Schoenfeld<strong>in</strong>ger, 1995]<br />

L<strong>in</strong>da records tuples among processes runn<strong>in</strong>g <strong>in</strong> parallel on distributed systems. We simplify this concept by<br />

allow<strong>in</strong>g CGI scripts to save tuples perta<strong>in</strong><strong>in</strong>g to state <strong>in</strong>to what we call the “swap.”<br />

2.3 Password Protection of Document Trees<br />

Many of the newer versions of Web servers allow password protection at a directory level, but this will not<br />

control how authorized users access the pages <strong>in</strong> that directory. MembersOnly is a system that allows<br />

document level access control. This system requires the use of a third party HTML server. [GATE<br />

Technology 1995] Neither of these systems permit conditional access to pages which may be required for<br />

database applications.<br />

3. The Secure Loop

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!