Когда пользователь посещает веб-страницу с включенным HSTS, браузер обнаруживает это и не забудет использовать HTTPS для запросов на этот сайт в будущем. Есть ли способ запросить страницу в AS3 и определить, была ли возвращена страница с поддержкой HSTS (либо напрямую через AS3 в SWF, либо с помощью ExternalInterface)?Есть ли способ определить, поддерживает ли сайт HSTS в AS3?
ответ
Как википедия определить его, HSTS (HTTP Strict Transport Security) является информация, которая
... передается от сервера к агенту пользователя через поле заголовка ответа HTTP под названием «Строгий-Transport-Security».
Здесь мы можем понять, что эта информация доступна только из заголовков ответов HTTP. Для Flash, это невозможно получить заголовки ответа HTTP, в отличие от воздуха, который может получить его с помощью HTTPStatusEvent:
В Flash Player существует только один тип HTTPStatus события: httpStatus. В среде выполнения AIR FileReference, URLLoader или URLStream могут зарегистрироваться для прослушивания httpResponseStatus, который включает свойства responseURL и responseHeaders. Эти свойства не определены в событии httpStatus.
Для JavaScript (или ExternalInterface, если вы хотите), чтобы получить заголовки ответа HTTP, вы должны использовать AJAX, который может получить его только с CORS (Cross-Origin Resource Sharing) Enabled сервер, который позволит на стороне клиента запросы кросс-происхождения, в противном случае вы будете заблокированы сервером, и ваш браузер wil покажет вам симпатичную ошибку «No Access-Control-Allow-Origin ...», конечно, все это с использованием browser which can do XMLHttpRequests across domains.
Заключение: ни Flash, ни javascript (может быть, в некоторых случаях, когда разрешен CORS) действительно может быть получен, если включен HSTS или нет.
- 1. Поддерживает ли PhoneGap HTTP HSTS?
- 2. Поддерживает ли IView WebView HSTS?
- 3. Есть ли способ определить, использует ли сайт SPDY?
- 4. Поддерживает ли Crosswalk HSTS и HPKP?
- 5. Поддерживает ли Scaleform AS3?
- 6. Есть ли способ очистить HSTS без SSL-сертификата?
- 7. Как определить, поддерживает ли IE мой сайт как надежный сайт?
- 8. Есть ли способ определить переменную в HTML?
- 9. Есть ли способ определить, переопределена ли функция?
- 10. Есть ли способ определить, произошло ли исключение?
- 11. Есть ли способ определить, заблокирован ли объект?
- 12. Есть ли способ определить, отключена ли анимация
- 13. Есть ли способ определить, является ли сайт мобильным для мобильных устройств из командной строки unix?
- 14. Есть ли способ явно проверить, поддерживает ли устройство двойной щелчок?
- 15. Есть ли способ определить двусмысленность в грамматике?
- 16. Есть ли способ определить перечисление в python?
- 17. Есть ли способ определить переменную в LaTeX?
- 18. Есть ли способ определить, сколько мобильного трафика получает сайт? (не сайт, который у вас есть)
- 19. Swing: Есть ли способ определить, есть ли мышь?
- 20. Есть ли способ определить, поддерживает ли Android-телефон интеграцию с Voicemail в журнале вызовов?
- 21. Есть ли способ хранить кросс-сайт cookie?
- 22. Есть ли способ увидеть визуальный сайт ASP.NET?
- 23. Есть ли способ автоматически сделать сайт отзывчивым?
- 24. Есть ли способ отделить определение класса и декларацию в AS3
- 25. Есть ли безопасный способ узнать, поддерживает ли соединение JDBC?
- 26. Есть ли способ проверить, поддерживает ли устройство вход стилуса?
- 27. Есть ли способ javascript, чтобы проверить, поддерживает ли браузер MP3?
- 28. Есть ли способ определить, загружены ли все локальные ресурсы JavaScript?
- 29. AS3: определить, доступен ли спрайт в scrollRect?
- 30. Есть ли веб-просмотрщик в flash as3?
Когда вы говорите «сайт», вы имеете в виду любой сайт в Интернете? – akmozo
Да, но, если быть более конкретным, на любом сайте, у которого есть правильно настроенный файл crossdomain.xml (скажем, разрешить с '*'). Так может ли SWF запросить саму страницу или ресурс из домена и каким-то образом определить, включен ли сайт HSTS? – zretep
Не знаю, как это сделать. AS3 имеет очень ограниченную функциональность, когда речь идет об HTTP, протоколах, кодах ответов и в основном заголовках. Вы можете проверить, поддерживает ли сайт HTTPS, но это не гарантирует, что HSTS включен. Может быть, есть некоторые взломы, чтобы читать заголовки через ExternalInterface, но я не буду рассчитывать на это. Удачи! :) –