Unable to Pass Query String Which Contains Equal Sign (=) to CGI Program (181215)
The information in this article applies to:
- Microsoft Internet Information Server 3.0
- Microsoft Internet Information Server 4.0
This article was previously published under Q181215 We strongly recommend that all users upgrade to Microsoft Internet Information Services (IIS) version 6.0 running on Microsoft Windows Server 2003. IIS 6.0 significantly increases Web infrastructure security. For more information about IIS security-related topics, visit the following Microsoft Web site: SYMPTOMS
When you call a Common Gateway Interface (CGI) program from an HTML form
and are using the query string to pass parameters, a blank string is
passed to the CGI program. The following example illustrates this
behavior.
http://<servername>/cgitest.exe?parameter=value
CAUSE
This is a CGI rule. If an unencoded "=" is in the query string, the
command line isn't used for passing parameters; you have to use the query
string.
Note that an ISAPI DLL does not encounter this issue.
RESOLUTION
If you are unable to obtain an ISAPI DLL equivalent to the CGI program
when you are coding the HTML form, you must ensure that the parameters are
separated by the hex substitute for the equal (=) sign. The following
example demonstrates this:
http://<servername>/cgitest.exe?parameter%3dvalue STATUS
Microsoft has confirmed this to be a problem in Microsoft Internet
Information Server versions 3.0 and 4.0. We are researching this problem
and will post new information here in the Microsoft Knowledge Base as it
becomes available.
Modification Type: | Minor | Last Reviewed: | 6/23/2005 |
---|
Keywords: | kbbug kbpending KB181215 |
---|
|