Web Server Interface Architecture
Presently there are two Web well-defined server interfaces:
Common Gateway Interface (CGI)
The CGI uses script files that perform specific functions based on the
client’s parameters that are passed to the Web servers. The script
file is a small program containing commands written in some programming
language (e.g., PERL, C++, or Visual Basic).
The main disadvantage of CGI scripts is that the file is an external program
that is individually executed for each user request and thus decreases
Another disadvantage is that the "allowed path" required for input flow in
addition to the improper use of CGI scripts creates a vulnerability for
penetration attacks. Failure to validate user input, poorly chosen
function calls, and insufficient file permissions can all be exploited
through the misuse of CGI.