[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

SSL Form Post between IE6 and Apache 2.2 fails (This page cannot be displayed).

Posted on 2007-07-23
5
Medium Priority
?
1,015 Views
Last Modified: 2013-12-12
The Cry for HELP:
Any assistance and insight you can bring to my situation would be greatly appreciated.  I've spent over 12 hours troubleshooting.  I've also enlisted the help of a peer who spent over 8 hours on the issue.  We were unable to come up with a solution on our own.

The Scenario:
I am attempting to post form data including a file over SSL on IE 6.0 client served by Apache version 2.2 server.  The post fails with "This page cannot be displayed" error. (see simplified form below)  The php code works fine on all three browser versions on the "Old Server" environment.  However, on the "New Server" environment it fails on IE6.

The Theory:
This code works perfectly on IE6, IE7 or Firefox 2.0 with apache 2.0.  Further, this code works perfectly on IE7 and Firefox 2.0 with apache 2.2.  It only fails with the combination of IE6 and apache 2.2 which makes me think it's not a php.ini or apache configuration issue.  I suspect there is some incompatibility with the SSL handshake between Apache 2.2 and IE 6.  Another thought is that it might have something to do with mod_rewrite which is enabled on the "New Server" environment and not enabled on the "Old Server" environment.

The Client:
Windows XP Home

The New Server Environment:
FreeBSD 6.1
Apache 2.2.3
mod_rewrite enabled

Works in IE 7.0.5730.11
Works in Firefox 2.0.0.5 "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.5) Gecko/20070713
Fails in IE 6.0.2900.2180.xpsp_sp2_dgr.050301-1519

The Old Server Environment:
Redhat Linux Fedora 1
Apache 2.0.50

Works in IE 7.0.5730.11
Works in Firefox 2.0.0.5 "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.5) Gecko/20070713
Works in IE 6.0.2900.2180.xpsp_sp2_dgr.050301-1519

The failed php code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
if ($_POST['action']=='post') {
echo $_POST['Field1'] . '<br>';
echo $_POST['Field2'] . '<br>';
echo $_POST['Field3'] . '<br>';
echo $_POST['Field4'] . '<br>';
echo $_POST['Field5'] . '<br><br>';
echo $_FILES['file1']['tmp_name'];
}
?>
<form action="test.php" method="post" enctype="multipart/form-data" name="form2" id="form2">
  <p>Field1
    <input type="text" name="Field1" id="Field1" />
</p>
  <p>Field2
    <input type="text" name="Field2" id="Field2" />
</p>
  <p>Field3
    <input type="text" name="Field3" id="Field3" />
</p>
  <p>Field4
    <input type="text" name="Field4" id="Field4" />
</p>
  <p>Field5
    <input type="text" name="Field5" id="Field5" />
</p>
  <p>
    <input type="file" name="file1" id="file1" />
  </p>
  <p>
    <input type="hidden" name="action" value="post" />
    <input type="submit" name="Submit" id="Submit" value="Submit" />
  </p>
</form>
</body>
</html>
0
Comment
Question by:edigitize
  • 2
  • 2
5 Comments
 
LVL 48

Expert Comment

by:hernst42
ID: 19553765
Are there any messages in the webserver log for ssl or non SSL if you acces the page?
0
 

Author Comment

by:edigitize
ID: 19558143
Keeping in mind that this form posts to itself, there are no messages in the access_log or error_log when I click on the submit button to POST the form.  There is, of course, an entry in the access_log when the form initially loads (before submit).
0
 
LVL 48

Expert Comment

by:hernst42
ID: 19558340
First the form is typical called via GET then filled out and submited via POST-Method to the server. So there must be two entries in access_log, First get and then POST. So if there is no second entry in the access log the form is not posted back to the server.
0
 

Author Comment

by:edigitize
ID: 19558456
Ok, on that we are agreed.  The form is not posted back to the server.  Oddly, this only happens on IE6 over SSL.  I can access the same form on IE6 with no SSL and it works perfectly.

Also I should mention the following update when posting over SSL:
Step 1: Load Form
Step 2: Enter text & browse for file.
Step 3: Click Submit
Response: Page Could Not Be Displayed
Step 4: Click Back
Step 5: Enter text & browse for file.
Step 6: Click Submit
Response: For submits!

My Thoughts:  It seems pretty strange that I can submit the form, get an error, go back, fill out the form exactly the same way, submit it again, and THEN it will post.  The response is consistant even after restarting the browser, restarting computer, etc.  The post goes through the second time after clicking on browser's back button.
0
 
LVL 1

Accepted Solution

by:
vwal earned 2000 total points
ID: 20172729
This is caused by IE6's incorrect handling of SSL connections. The simplest solution is to add the following in Apache 2.2.x configuration (ssl configuration is usually found in the file httpd-ssl.conf).

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

This should take care of the problem you were experiencing.
0

Featured Post

NEW Veeam Backup for Microsoft Office 365 1.5

With Office 365, it’s your data and your responsibility to protect it. NEW Veeam Backup for Microsoft Office 365 eliminates the risk of losing access to your Office 365 data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
This Micro Tutorial will demonstrate how to add subdomains to your content reports. This can be very importing in having a site with multiple subdomains.
Suggested Courses
Course of the Month19 days, 1 hour left to enroll

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question