iframe
для URL-адреса HTTPS на странице HTTP - это очень плохая практика, поскольку пользователю трудно получить более подробную информацию (в частности, связанную с безопасностью) об этой странице. (Конечно, вы можете, вероятно, щелкнуть правой кнопкой мыши и найти способ проверить свойства iframe
, но даже пользователи, которые знают, как это сделать, вероятно, не сделают этого).
Используя HTTPS iframe
, как этот, вы не позволяете браузеру отображать обычные символы безопасности: блокировку, зеленую / синюю полосу и, что более важно, адрес сайта (злоумышленник может просто поставить собственную ссылку на www.some-other-site.example
вместо сайта с отступом; www.some-other-site.example
может иметь действительный сертификат, и браузер не будет выдавать никаких предупреждений).
Эта практика особенно плоха, когда HTTPS iframe
внутри страницы, обслуживаемой по HTTP, но она также не годится, когда содержащая страница обслуживается по HTTPS. Вы также не можете легко проверить подлинность сервера, обслуживающего оформленную страницу. (К сожалению, это (или, по крайней мере, так) было рекомендовано 3-D Secure ...)
Если вы хотите выполнить аутентификацию по HTTPS, переключите полную страницу на HTTPS, а затем вернитесь, предоставив незащищенный файл cookie. Конечно, это не очень безопасно (кто-то может перехватить этот маркер безопасности, как популяризируется FireSheep), но это лучше, если, по крайней мере, пользователь сможет проверить, является ли страница, на которой он вводит свои учетные данные, законной один. (Это тоже нужно делать осторожно, см. этот вопрос .)
Наилучший способ - использовать HTTPS без фреймов после аутентификации, если вы можете.