RequireHttpsAttribute и зашифрованные данные запроса
У меня есть действие контроллера, которое принимает конфиденциальные данные.
public ActionResult TakeSensitiveData(SensitiveData data){
data.SaveSomewhere();
}
Чтобы обеспечить безопасность данных, я хочу, чтобы определенные запросы выполнялись с использованием HTTPS (SSLv3, TLS 1). Одним из подходов, которые я рассмотрел, был использование RequireHttpsAttribute в моих действиях:
[RequireHttps]
public ActionResult TakeSensitiveData(SensitiveData data){
data.SaveSomewhere();
}
Тем не менее, после проверки этого, я обнаружил, что HTTP-запрос к действию 302 перенаправляется на HTTPS. У меня вопрос такой:
Если я сделал запрос с перенаправлением 302 на HTTPS, разве я уже не отправлял конфиденциальные данные по HTTP до перенаправления?
1 ответ
Вам необходимо публиковать данные непосредственно в HTTPS.
Примечание. Если у вас есть конфиденциальные данные, вы все равно должны вводить их на странице HTTPS. Поэтому отправкой обратно будет HTTPS (или вы получите неприятное предупреждение от Firefox о публикации HTTPS-данных в HTTP).