When a Microsoft Internet Security and Acceleration (ISA)
Server 2004 client performs an action that uses the
HTTP POST method, the action may be performed multiple times. For example,
if a user on an ISA Server 2004 client adds an item to a shopping cart by using
a Web page form, the item may be added to the cart three times.
Back to the top
This problem occurs when the following rules are configured
in ISA Server 2004 in the following order:
| 1. | A rule is configured that allows anonymous access to HTTP
protocol, where at least one content type is selected in Selected
content on the content tab. |
| 2. | A rule is configured that allows All Authenticated
Users access to the HTTP protocol and to all content types. |
Back to the top
To resolve this problem, use one of the following methods.
Back to the top
Method 1: Install ISA Server 2004 Service Pack 3 (SP3)
This problem is fixed in ISA Server 2004 SP3.
For more information about how to obtain ISA Server 2004 SP3, click the following article number to view the article in the Microsoft Knowledge Base:
891024 (http://support.microsoft.com/kb/891024/)
How
to obtain the latest ISA Server 2004 service pack
Back to the top
Method 2: Install the ISA Server 2004 hotfix package that is dated March 8, 2007
For more information
about the ISA Server 2004 hotfix package that is dated March 8, 2007, click the
following article number to view the article in the Microsoft Knowledge Base:
933524 (http://support.microsoft.com/kb/933524/)
Description of the ISA Server 2004 hotfix package that is dated March 8, 2007
After
you install the hotfix package, the hotfix is turned off. To enable the hotfix,
you must run the following script on the computer:
const USE_FILE_EXTENSION_AS_CONTENT_TYPE_Default = 0
const USE_FILE_EXTENSION_AS_CONTENT_TYPE_IfNotExist = 1
const USE_FILE_EXTENSION_AS_CONTENT_TYPE_Always = 2
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "UseFileExtensionAsContentType"
Const SE_VPS_VALUE = 1
Sub SetValue()
' Create the root obect.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects needed.
Dim array ' An FPCArray object
Dim VendorSets ' An FPCVendorParametersSets collection
Dim VendorSet ' An FPCVendorParametersSet object
' Get references to the array object
' and the network rules collection.
Set array = root.GetContainingArray
Set VendorSets = array.VendorParametersSets
On Error Resume Next
Set VendorSet = VendorSets.Item( SE_VPS_GUID )
If Err.Number <> 0 Then
Err.Clear
' Add the item
Set VendorSet = VendorSets.Add( SE_VPS_GUID )
CheckError
WScript.Echo "New VendorSet added... " & VendorSet.Name
Else
WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME)
End If
if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
Err.Clear
VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
If Err.Number <> 0 Then
CheckError
Else
VendorSets.Save false, true
CheckError
If Err.Number = 0 Then
WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
End If
End If
Else
WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
End If
End Sub
Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
Err.Clear
End If
End Sub
SetValue
Back to the top
Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section.
Back to the top