Hi all,
sometime after IIS was patched recently on our host's server
something went awry with CFHTTP... it's hard to explain... basically, when
a CFHTTPPARAM value contains an ampersand ('&'), and the CFHTTP is POSTed
to the CF server, the receiving CF template (fusebox, but this applies to
standard templates too) gets very confused abut field names, and values,
specifically, it takes the text in the _VALUE_ after the ampersand and
thinks that is a field name. Obviously this is bad. I have tested this
with our systems... here are the results...
Apache & CF5 = normal
IIS 4 (latest patch level) & CF4.5 = broken
IIS 5 (latest patch level) & CF5 = normal
Now I initially thought this would be an IIS problem, because I'm not fond
of IIS really. But I setup a standard form which did the same thing as
CFHTTP, that is posted the data to the receiving template, and it worked OK
where CFHTTP didn't.
I'm sure that the problem hasn't ALWAYS existed with IIS and 4.5 because I
have only been made aware of it now as there have been 3 failures of this
particular bit of code in the last 2 weeks and no similar failures in the
8 months since it was brought online. Anybody got any idea what could be
the problem, or more importantly how I can work around it ?? Here is my
test code (two files, testPOST.cfm and testPOST2.cfm, change the
LocationOfTestPost2 in testPOST.cfm as appropriate)...
== testPOST.cfm
============================================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<CFSET LocationOfTestPost2 =
"http://put.your.server.here/testPOST2.cfm">
<CFSET AccountDetails = StructNew()>
<CFSCRIPT>
AccountDetails.PrimaryDomain = "mrd.co.nz";
AccountDetails.Q_Hosting = QueryNew("blah,foo");
AccountDetails.DoHoDiskSpaceUnits = 0;
AccountDetails.Q_Options = QueryNew("blah,foo");
// These are incase the user ordered the secure system option
AccountDetails.SSAOptions = StructNew();
AccountDetails.SSAOptions.SSAContactName = "Blog Bar & Foo Bar";
AccountDetails.SSAOptions.SSAContactPhone = "123 4567";
AccountDetails.SSAOptions.SSAContactEmail =
"[EMAIL PROTECTED]";
AccountDetails.SSAOptions.SSAUsername = "xxyyzz";
AccountDetails.SSAOptions.SSAPassword = "xxzzyy";
AccountDetails.SSAOptions.SSACustomerNumber = "DW-00631-C";
</CFSCRIPT>
<CFWDDX ACTION="CFML2WDDX" INPUT=#AccountDetails# OUTPUT="Bork">
<CFHTTP METHOD="POST" URL="#LocationOfTestPost2#">
<CFHTTPPARAM TYPE="FORMFIELD"
NAME="FuseAction" VALUE="addHostingTecTask">
<CFHTTPPARAM TYPE="FORMFIELD"
NAME="TaOrderURL" VALUE="http://www.yahoo.com">
<CFHTTPPARAM TYPE="FORMFIELD"
NAME="PayBy" VALUE="Cheque">
<CFHTTPPARAM TYPE="FORMFIELD"
NAME="TaOrderID" VALUE="906">
<CFHTTPPARAM TYPE="FORMFIELD" NAME="TaCustomerLink"
VALUE="DW-00631-C">
<CFHTTPPARAM TYPE="FORMFIELD"
NAME="TaEditLinks" VALUE="yada.nada.nu">
<CFHTTPPARAM TYPE="FORMFIELD"
NAME="TaComments" VALUE="#ParagraphFormat(HTMLEditFormat('blogger'))#">
<CFHTTPPARAM TYPE="FORMFIELD" NAME="AccountDetails"
VALUE="#Bork#">
</CFHTTP>
<CFOUTPUT>#CFHTTP.FileContent#</CFOUTPUT>
<FORM METHOD="POST" ACTION="#LocationOfTestPost2#"
ENCTYPE="multipart/form-data">
<CFOUTPUT>
<INPUT TYPE="HIDDEN"
NAME="FuseAction" VALUE="addHostingTecTask">
<INPUT TYPE="HIDDEN"
NAME="TaOrderURL" VALUE="http://www.yahoo.com">
<INPUT TYPE="HIDDEN" NAME="PayBy" VALUE="Cheque">
<INPUT TYPE="HIDDEN" NAME="TaOrderID" VALUE="906">
<INPUT TYPE="HIDDEN" NAME="TaCustomerLink"
VALUE="#HTMLEditFormat('DW-00631-C')#">
<INPUT TYPE="HIDDEN" NAME="TaEditLinks"
VALUE="#HTMLEditFormat('yada.nada.nu')#">
<INPUT TYPE="HIDDEN" NAME="TaComments"
VALUE="#HTMLEditFormat(ParagraphFormat(HTMLEditFormat('blogger')))#">
<INPUT TYPE="HIDDEN" NAME="AccountDetails"
VALUE="#HTMLEditFormat(Bork)#">
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="SUBMIT">
</CFOUTPUT>
</FORM>
</body>
</html>
== testPOST2.cfm
============================================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<CFSETTING SHOWDEBUGOUTPUT="Yes">
<CFOUTPUT>#FORM.FieldNames#</CFOUTPUT>
<HR>
<CFOUTPUT>#FORM.AccountDetails#</CFOUTPUT>
<HR>
</body>
</html>
----------
James Sleeman
Innovative Media Ltd
Phone: (03) 377 6262
http://www.websolutions.co.nz/
CAUTION: The information contained in this email message is confidential
and may be legally privileged. If the reader of this message is not the
intended recipient you are notified that any use, dissemination,
distribution or reproduction of this message is prohibited. If you have
received this message in error please notify the sender immediately and
destroy the original message and any attachments.
Views expressed in this communication may not be those of Innovative Media
Ltd.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Your ad could be here. Monies from ads go to support these lists and provide more
resources for the community. http://www.fusionauthority.com/ads.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists