2

バグのある SSL 実装を回避しようとして、<cfhttp>COM と MSXML2.ServerHTTP を直接使用するように切り替えました。残念ながら、POST データは宛先ページに到着しません。GET は機能しますが、リクエストの URL がログに記録されているかどうかわからず、できることなら機密データを渡したくないので、使用したくありません。(気にしすぎ?)

私の問題はこれに似ています: http://objectmix.com/xml-soap/87408-sending-post-variables-using-msxml2-serverxmlhttp-3-0-a.html

これが私のコードです:

<cfset querystring = "?CustomerID=#CustomerID#&OrderDelRecipient=#OrderDelRecipient#&OrderCompany=#OrderCompany#&OrderTelephone=#OrderTelephone#&OrderNotes=#OrderNotes#&OrderDelStreet=#OrderDelStreet#&OrderDelCity=#OrderDelCity#&OrderDelState=#OrderDelState#&OrderDelZip=#OrderDelZip#">
<cfobject type="COM" action="Create" name="objSrvHTTP" class="MSXML2.ServerXMLHTTP.3.0">
    <cfset urlstring = "http://www.pascaltechnologies.com/saveorder.cfm">
<cfset temp = objSrvHTTP.open("post", urlstring, false)>
<cfset temp = objSrvHTTP.setRequestHeader("Content-Type", "application/x-www-form-
urlencoded")>
<cfset temp = objSrvHTTP.send("#querystring#")>
<cfset FileContent = objSrvHTTP.responsetext>
<cfoutput>
    #filecontent#
</cfoutput>

呼び出されたページ (saveorder.cfm)のフォーム変数を確認すると、

<cfif Not IsDefined("CustomerID") OR NOT IsNumeric(CustomerID)>
    ERR 609 - INVALID PARAMETERS PASSED.
    <cfabort>
</cfif>

それらは空であるため、上記のコードがトリガーされます。

これは、応答をフォーム var にコピーする必要があるためですか? 例<cfset FORM.CustomerID = objSrvHTTP.CustomerID>(GETでは必要ないので、必要ないと思うでしょう。)または、単に何かを正しく実装していませんか?

4

0 に答える 0