У меня есть html-форма, которая отправляется через AJAX (плагин формы jquery) на PHP-прокси на моем сервере. Веб-прокси использует curl для POST для стороннего скрипта.
В моей html-форме есть входы с именами, такими как p [fname], p [lname], c [name], p [loc], p [loc] [email], p [loc] [email] [detail] , Имена указаны сторонним приложением.
Когда я использую GET для отправки формы на веб-прокси, я могу просто сделать следующее, чтобы передать данные формы успешно сценария третьей стороны внутри завитка запроса:
$postvars = $_SERVER['QUERY_STRING'];
curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars);
Вопрос № 1: Есть ли что-то «неправильное» с использованием GET для отправки данных формы в мой веб-прокси? Как я уже упоминал, он отлично работает и требует меньше кодирования. $ _SERVER ['QUERY_STRING'] имеет точно данные, которые мне нужно передать третьим лицам через POST, в точно правильном формате.
Вопрос №2: Если у вас есть веская причина использовать POST для отправки на мой веб-прокси, то лучший способ пропустить многомерный ассоциативный массив в $ _POST, чтобы динамически строить $ postvars, без необходимости код любых значений ключа?
Примечание. Форма html не критически важна, и представленные ею данные вносятся в службу поддержки третьей стороны. Он не вставлен непосредственно в производственные данные.
Спасибо! Я знаком с общими правилами использования GET и POST. Поскольку GET-> POST работает здесь и требует меньше кодирования, я пытаюсь получить некоторые мнения о: 1. Можно ли нарушить это правило в таких случаях, как этот. 2. Есть ли какие-либо действительно веские причины (например, безопасность), которые я должен придерживаться POST, а не GET в этой ситуации. – Tex
Как я уже сказал в вашем случае, это, вероятно, зависит только от типа данных, которые вы отправляете (длина URL-адреса). Что касается безопасности: POST не является надежным, чем GET. Если вы перехватываете HTTP-запрос, вы можете читать все данные независимо от того, POST или GET. Вы также можете изменять данные POST, для этого есть плагины для Firefox. Поэтому нет большой разницы. –