我有一個HTML表單,通過AJAX(jQuery表單插件)提交給我的服務器上的PHP Web代理。 Web代理使用curl將POST發送給第三方腳本。
我的html表單有p [fname],p [lname],c [name],p [loc],p [loc] [email],p [loc] [email] [detail] 。名稱由第三方應用程序指定。
當我使用GET的形式提交給Web代理,我可以簡單地做以下成功發送表單數據的第三方腳本的捲曲請求裏面:
$postvars = $_SERVER['QUERY_STRING'];
curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars);
問題1:使用GET將表單數據提交給我的Web代理服務器有什麼「錯誤」?正如我提到的,它工作正常,並且需要更少的編碼。 $ _SERVER ['QUERY_STRING']具有我需要通過POST傳遞給第三方的完全正確格式的數據。
問題2:如果有令人信服的理由使用POST提交給我的Web代理,那麼循環遍歷$ _POST中的多維關聯數組以便動態構建$ postvars的最佳方式是什麼?編碼任何關鍵值?
注意:html表單不是關鍵任務,它提交的數據會進入第三方服務的批准提示。它不會直接插入生產數據中。
謝謝!我熟悉何時使用GET和POST的一般規則。由於GET-> POST在這裏工作,並且需要較少的代碼,所以我想獲得一些意見: 1.在這種情況下是否可以打破此規則。 2.是否有真正令人信服的理由(例如安全),我應該堅持POST而不是GET在這種情況下。 – Tex 2010-01-08 13:59:10
正如我在你的情況說,它可能只取決於你發送的數據類型(URL的長度)。關於安全性:POST不比GET更安全。如果攔截HTTP請求,則無論是POST還是GET,都可以讀取每個數據。你也可以篡改POST數據,Firefox有插件。所以沒有太大的區別。 – 2010-01-08 14:18:04