Переход с одной страницы https на другую с другим сертификатом - PullRequest
0 голосов
/ 25 июня 2009

Представьте себе стандартную страницу регистрации, которая содержит некоторую информацию о пользователе, такую ​​как имя, адрес и т. Д. На нем есть кнопка «Купить сейчас», которая переходит на платежный сайт (WorldPay).

Теперь требуется, чтобы все было в безопасности, так что это означает (и поправьте меня, если я ошибаюсь)

A) Мне нужно получить и установить сертификат SSL на IIS.

B) Затем мне нужно обезопасить страницу регистрации (точно смотря, как это сделать, но если кто-то захочет дать мне знать, это будет здорово!)

Итак, если предположить, что страница «Регистрация» теперь имеет https для одного сертификата, есть ли ВСЕ причина, по которой может возникнуть проблема с перенаправлением на WorldPay (который находится под SSL, но под другим сертификатом)?

Я не могу себе представить, почему, я не собираюсь делать это через AJAX или что-либо еще (см. HTTPS-запрос через AJAX со страницы HTTP ), но иногда эти вещи могут вас укусить!

Спасибо Дункан

Ответы [ 2 ]

1 голос
/ 25 июня 2009

Не должно быть проблем с перенаправлением с одного домена на другой с использованием одного и того же протокола (https). Тем не менее, иногда вирусное программное обеспечение может определять такой тип перенаправления как «фишинг», но с вами все будет в порядке, если WorldPay является надежным источником. Вы пытаетесь передать пользовательские данные в WorldPay или просто используете WorldPay в качестве механизма оплаты? Я бы не стал передавать какую-либо информацию пользователя через переменные POST / GET при переключении доменов.

Ответ на вашей странице регистрации заключается в том, что вам нужно принудительно установить https (в идеале из кода), чтобы пользователи могли вводить данные своей учетной записи с помощью шифрования SSL и видеть значок надежного замка;).

РЕДАКТИРОВАТЬ: ПРИМЕР КОДА

 if (HttpContext.Current.Request.Url.AbsoluteUri.ToLower().StartsWith("http://"))
{
   Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri.Replace("http://", "https://"));
}

Чтобы получить свой сертификат: в IIS перейдите к свойствам записи веб-сайта, нажмите вкладку безопасности, затем сертификаты сервера. Завершите пошаговую процедуру, пока запрос на сертификат не будет готов к отправке в центр подписи сертификатов (GeoTrust, Verisign и т. Д.). Как только вы получите его обратно, ваш запрос на сертификат может быть завершен, и ваш https будет работать.

Кроме того, убедитесь, что на вашем ПО SSL установлены последние обновления. Это должно охватывать требования. Однако я бы также связался с WorldPay, чтобы убедиться, что вы придерживаетесь стандартов.

1 голос
/ 25 июня 2009

Единственная проблема, которую я могу предвидеть, заключается в том, что если у вас есть прямая форма POST от https://mysite.com/ до https://payment.net/, ваши пользователи, скорее всего, увидят страницу с предупреждением (FF3.5 показывает «ненадежный»). подключение »по аналогичному сценарию - оно есть для сдерживания фишинговых атак). Одним из возможных решений этой проблемы является отправка формы mysite.com в домен mysite.com, а затем наличие контроллера или чего-то подобного, что перенаправило бы пользователя с сайта payment.net. (Тем не менее, вы должны следить за тем, чтобы вы не играли в Loosey-Goosey с личной информацией пользователя, выставляя ее на URL-адресе.)

Полагаю, что этот вопрос должен решаться вашим платежным сайтом довольно часто. Я бы предложил связаться с ними, чтобы узнать, есть ли у них конкретные рекомендации по обработке SSL, предупреждений и т. Д.

...