В Firefox буду отключены API для датчиков приближения и освещения

В Firefox буду отключены API для датчиков приближения и освещения

В Firefox буду отключены API для датчиков приближения и освещения

Начиная с версии Firefox 60, релиз которой запланирован на май 2018 года, сайты не смогут использовать этот браузер для доступа к датчикам, предоставляющим информацию о приближении и окружающем освещении.

В настоящее время такой доступ у сайтов есть благодаря реализованным в Firefox API, известным как W3C Proximity и Ambient. Однако разработчики Mozilla приняли решение отключить доступ по умолчанию к этим двум API.

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

Эти две настройки будут доступны на странице настроек Firefox about:config. На скриншоте ниже показана последняя версия Firefox Nightly, в которой две эти настройки отключены.

Также в новой версии Firefox разработчики предусмотрели еще три настройки, которые отвечают за следующее: включить или отключить все API для датчиков, включить или отключить API датчика ориентации устройства и включить или отключить API Motion Sensor.

device.sensors.enabled
device.sensors.orientation.enabled
device.sensors.motion.enabled

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

Причиной отключения по умолчанию API датчика приближения и освещения стало исследование эксперта Лукаша Олейника, в котором эксперт продемонстрировал возможные способы атак на этот API, которые могут осуществить злоумышленники и рекламные сети.

Например, Олейник утверждал, что W3C Proximity Sensor API может позволить веб-сайтам и рекламодателям запрашивать местоположение соседних объектов в отношении смартфона или планшета пользователя. Кроме того, он также утверждал, что вредоносные сайты могут использовать API W3C Ambient Light Sensor для кражи данных браузера.

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

Теперь изменение алгоритма не требует пересборки сервиса, ошибочную версию можно быстро откатить, а каждый расчёт — воспроизвести по входным данным и промежуточным результатам.

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

RSS: Новости на портале Anti-Malware.ru