ASP.NET MVC: возврат незащищенного ответа на отправленную форму https на незащищенной странице - PullRequest
2 голосов
/ 23 октября 2009

У меня есть безопасная форма (attribute action = "https: // ...") на незащищенной (http) странице. Цель состоит в том, чтобы безопасно передавать данные, избегая предупреждений о смешанном контенте («некоторые элементы не защищены») из-за незащищенного элемента Google Maps на моей странице.

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

Как я могу принять защищенный ввод из формы и все равно отправить обратно ту же незащищенную страницу, если отправка формы не удалась?

1 Ответ

2 голосов
/ 23 октября 2009

Форма, отображаемая на странице HTTP, даже если форма указывает на URL-адрес HTTPS, лишает смысла SSL. Если ваша форма указывает на HTTPS, она должна обслуживаться только через HTTPS. Точно так же, если он подается через HTTP, он должен указывать только на HTTP. См. этот блог для получения дополнительной информации.

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

Короче говоря, убедитесь, что использование SSL является жестким требованием для вашего приложения, и удалите его, если это не так. Сегодня ваша конфигурация приложения - это эквивалент безопасности для обслуживания всего через HTTP. Если это неприемлемо, разделите ваш сайт таким образом, чтобы часть вашего сайта, которая ссылается на Карты Google, не была той же частью вашего сайта, которая обрабатывает защищенные транзакции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...