Переход с одной страницы https на другую с другим сертификатом
Представьте себе стандартную страницу регистрации, которая собирает некоторую информацию о пользователе, такую как имя, адрес и т. Д. На ней есть кнопка "Купить сейчас", которая переходит на платежный сайт (WorldPay).
Теперь требуется, чтобы все было в безопасности, а это значит (и поправьте меня, если я ошибаюсь)
А) Мне нужно получить и установить сертификат SSL на IIS.
B) Затем мне нужно обезопасить страницу регистрации (глядя, как именно это сделать, но если кто-то захочет сообщить мне, это будет здорово!)
Итак, если предположить, что страница "Регистрация" теперь имеет https для одного сертификата, есть ли причина ВСЕ, что должна быть проблема с перенаправлением на WorldPay (который находится под SSL, но под другим сертификатом)?
Я не могу себе представить, почему, я не собираюсь делать это через AJAX или что-то еще (см. Запрос HTTPS через AJAX со страницы HTTP), но иногда эти вещи могут вас укусить!
Спасибо Дункан
2 ответа
Не должно быть проблем с перенаправлением с одного домена на другой с использованием одного и того же протокола (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, чтобы убедиться, что вы придерживаетесь стандартов.
Единственная проблема, которую я могу предвидеть, заключается в том, что если у вас есть прямая форма POST от https://mysite.com/ до https://payment.net/ ваши пользователи, скорее всего, увидят страницу с предупреждением (FF3.5 показывает " Ненадежное соединение "по аналогичному сценарию - оно там для предотвращения фишинговых атак). Одним из возможных решений этой проблемы будет отправка формы mysite.com в домен mysite.com, а затем наличие там контроллера или чего-то подобного, что перенаправит пользователя на сайт payment.net. (Тем не менее, вы должны следить за тем, чтобы вы не играли в Loosey-Goosey с личной информацией пользователя, выставляя ее на URL-адресе.)
Я предполагаю, что с этим вопросом ваш сайт оплаты должен иметь дело довольно часто. Я бы предложил связаться с ними, чтобы узнать, есть ли у них конкретные рекомендации по обработке SSL, предупреждений и т. Д.