-1

Я изучаю API-интерфейс сервисного работника. Я нашел в нем более интересные функции. Но меня волнует то, что почему он работает только на сайте https, а не на http-сайте?.Почему рабочий сервис не работает на http-сайтах?

Я считаю, что это как-то связано с безопасностью, но я не мог найти причину во время просмотра. Поэтому любое объяснение, объясняющее это, оценивается ...

+1

Это гарантирует, что сам рабочий код является подлинным. – Pointy

+0

Можете ли вы привести мне пример плохой причины, когда работнику службы разрешили работать на http-сайте? Я считаю, что пример или сценарий, объясняющий злое дело, помогли бы лучше понять. –

ответ

3

Поскольку работники сферы обслуживания являются достаточно мощными и могут работать даже тогда, когда исходная страница больше не открыта, вы действительно хотите ограничить, кто может создать сервисного работника и кто не может. Так как простой HTTP-запрос очень легко man-in-the-middled, любой случайный Javascript может быть введен в такой запрос, который мог бы настроить рабочего. Это означает, что ваш интернет-провайдер, такое правительство, как Китай, или серьезный злоумышленник может легко настроить рабочих. Требуя подключения HTTPS, люди в середине избегают, и вы можете хотя бы заверить, что Javascript, который настраивает сервисного работника, действительно пришел со страницы, которую вы считаете.

+0

Цените предоставленное объяснение. Можете ли вы представить мне пример человека в средней атаке, если сервис-работник разрешен на http-сайте? –

+0

Человек в середине будет, например, вашим интернет-провайдером. Он может видеть каждый простой HTTP-запрос и ответ HTTP, поскольку он передает данные. Поскольку он ретранслирует данные, он также может * изменять * данные. Он может очень просто добавить некоторый дополнительный Javascript в любой HTML-код, который мог бы настроить сервис-работника. – deceze

+0

ISP - хороший пример. Другим примером может служить маршрутизатор в интернет-кафе. – Pointy

3

Чтобы дополнить ответ @deceze, если злоумышленник «человек в середине» подключается к HTTP-сайту, он может нанести ущерб этому сайту только на этот раз - более позднее подключение к сайту не гарантируется скомпрометированным и например, для атак, основанных на доступе к локальной сети, может быть нелегко воспроизвести.

Если вы можете использовать служебного работника на http-сайтах, злоумышленнику нужно просто сделать одну атаку «человек в середине» навсегда (или, по крайней мере, до тех пор, пока этот браузер не будет очищен), источник контента для указанного сайта.

+0

Хорошо. Но какой вред он нанесет пользователю, если злоумышленник использует сервис-сервис api? Если злоумышленник делает человека посередине и браузер разрешает эти http-сайты, почему бы ему не разрешить работника службы на http-сайтах? –

+2

Скажите, что вы просматриваете свой любимый новостной веб-сайт на http :, а злоумышленник перехватывает его однажды в открытой сети Wi-Fi и настраивает сервисного работника: вы никогда не сможете получить настоящий оригинальный веб-сайт из этого браузер, если злоумышленник решает это. Конечно, вы могли бы быть MiTM'd на http все время, но сервис-работник существенно увеличивает продолжительность и влияние потенциального MiTM. – dontcallmedom

+0

Прохладный. Еще один лучший пример. Очень ценю, что –