Какая пользовательская информация доступна для кода, запущенного в браузерах? - PullRequest
0 голосов
/ 24 апреля 2011

Недавно я поспорил с кем-то о возможности веб-сайта делать снимки экрана на компьютере пользователя. Он утверждал, что использование GUI-программы для симуляции быстрого нажатия мыши, чтобы выиграть простую флеш-игру, теоретически может быть обнаружено (если сайт достаточно заинтересован), регистрируя аномально высокие результаты и делая скриншот рабочих столов этих игроков для проверки модератором. Я утверждал, что, поскольку весь код веб-сайта выполняется внутри браузера, он не может выйти за пределы системы, чтобы сделать такой снимок экрана.

Это привело к более общему обсуждению возможностей веб-сайтов с помощью Javascript, Flash или любого другого метода (приемлемого или гнусного), чтобы сделать этот шаг за пределы системы. Мы согласились, что, по крайней мере, некоторые вещи можно было захватить: ОС, размер полного рабочего стола пользователя. Но мы определенно не могли согласиться с тем, насколько изолированным был код в браузере. В целом он дал код веб-сайту больше доверия, чем я.

Итак, кто прав? Могут ли сайты делать скриншоты на рабочем столе? Могут ли они перечислить все ваши открытые окна? Что еще они могут (или не могут) делать? Очевидно, что любой такой код должен был бы быть специфичным для ОС, но представьте себе амбициозный сайт, готовый написать код для нескольких ОС и систем.

Погуглив это привело меня ко многим красным селедкам с относительно небольшим количеством хорошей информации, поэтому я решил спросить здесь

1 Ответ

1 голос
/ 24 апреля 2011

Вообще говоря, модель безопасности браузеров должна полностью хранить код javascript в своей песочнице.Все, что касается локального компьютера, которое не отражено в свойствах объекта окна и его дочерних элементов, недоступно.

Плагины, с другой стороны, имеют свободное управление.Они устанавливаются пользователем и могут получить доступ ко всему, что есть у пользователя.Вот почему они могут получить доступ к вашей веб-камере, загружать файлы, выполнять сканирование на вирусы и т. Д. Они также могут предоставлять API-интерфейсы для кода javascript, который пробивает дыру в «песочнице» javascript и дает коду javascript некоторый внешний доступ.Таким образом, такие инструменты, как PhoneGap, предоставляют javascript-коду в веб-приложениях доступ к оборудованию телефона (GPS, ориентация, камера и т. Д.)

...