2015-06-09 5 views
-1

У меня проблема. Мне нужно передать переменные с одного сайта на другой. Я не хочу использовать метод GET, поскольку мне нужно передать некоторые защищенные переменные.Перенаправление URL с передаваемыми переменными между двумя доменами

Как бы я это сделал?

+0

С точки зрения безопасности, POST и GET в равной степени небезопасно; альтернативный подход заключается в шифровании переменных, при условии, что перенаправленный домен может снова расшифровать его. Существуют более сложные способы, такие как механизм, основанный на токенах (при котором фактические данные передаются сервером, но клиент использует только непрозрачный идентификатор). –

+0

улучшенная грамматика – Oldskool

ответ

1

Ваш лучший (и самый простой) ставку, если вы беспокоитесь о безопасности будет заключаться в следующем:

  1. Использование виться по SSL, создайте новое сообщение на сервер 2
  2. После POST завершена, сервер 2 ответит токен
  3. Используйте этот маркер в вашем GET запрос/браузер перенаправление с сервера 1
  4. на сервере 2, проверьте маркер и найти данные

Это простой способ сделать безопасный «проход» данных ... хотя, есть более элегантные решения.

См пример потока:

Example of flow

+0

спасибо за совет. – user4988384

0

Вы считаете http POST? Он работает точно так же, как и GET, в том, что касается его реализации PHP/HTML: <form action="inputUrl.php" method="post"> для отправки и $_POST["var"] для получения.

Что касается безопасности, POST намного лучше, чем GET, поскольку данные передаются за кадром, а не встроены в URL-адрес, что делает его типичным протоколом для входа в систему. Он также хорошо работает для одноразовых действий, таких как покупки. Тем не менее, он по-прежнему отправляет данные в текстовом формате по умолчанию, поэтому вам обязательно нужно включить шифрование/дешифрование на двух соответствующих серверах для обеспечения безопасности данных. Вы можете сделать это достаточно легко с PHP; look into thecrypt() функция.

+0

Я не могу сказать браузеру, чтобы сделать запрос по почте через HTTP-заголовок. Заголовок местоположения будет перенаправлен, но только для запросов GET или HEAD. – user4988384

+0

Я бы не сказал, что POST намного лучше; в то время как он (незначительно) более запутан, клиент все еще может проверить полезную нагрузку. –

+1

Когда я написал это, я предположил, что на вашем сервере нет SSL. В противном случае, @Half Crazed, безусловно, лучшее решение (но оно по-прежнему технически использует POST!) – BradzTech

Смежные вопросы