Hello! I am not sure it’s the right forum for this question, but I am really at a loss about the cause of the problem I am experiencing, so I’ve decided to start here.
I have a rather simple classic ASP web site on IIS6, which allows the visitors to provide some information in a series of HTML forms. This information is then saved in an SQL Server database. The users need to complete three “pages” one after the other; each page contains a number of form fields. The pages are implemented in the scripts page1.asp, page2.asp and page3.asp. All these pages POST the form data to save.asp, which actually updates the database (that page also “cleans” the input, e.g. by removing all the characters with ASCII codes less than 32). The page number is passed via a hidden form field. For example, if the hidden form field contains the value “1”, save.asp will assume that the first page is being submitted, so it will read the form fields provided on that page, update the database and redirect to page2.asp. The first page is rather light; the other two pages contain quite a lot of form fields including several text areas.
Now the problem. Since a few months I have been receiving reports from a small percentage of users that when they submit the data on a form, they get the “404 Page Not Found” error. In all the cases, this occurs on the “heavy” second and third pages and never on the first page. Obviously, the error message is wrong because all the three pages post the data to the same script. I have looked at the logs of the web server, but did not find any record of a 404 error (apart from the cases when the users really called non-existent pages).
I can see two possibilities: either there is something special with the users’ browsers or PCs, or the cause of the problem lies with the information that they are trying to post. To test the first theory, I told the users to clear their browsers’ cache, use different browsers to try computers at different locations. Although I cannot verify that they have really done it, those who replied told me that the problem persisted. To check the second possibility, I asked the users to e-mail me the information they were trying to post. When I received it, I could enter it in the forms and submit without any trouble. I could even bring one of the complaining users to my PC and asked him to fill out the form from there. It worked fine!
What can this be? Any suggestions would be appreciated because I am really running out of ideas! Thanks in advance.
P.S. I have seen ASP scripts generating 404 errors when they were used with query strings that IIS considered dangerous. I am not aware that the same can happen with the POST method though.