Почему?
- Потому что они хотят, чтобы вы думали о том, что вы делаете
- Потому что это предотвращает случайные установки
- Потому что это предотвращает злонамеренные установки
Как вы можете злонамеренно запустить установку?
Вот интересная статья Джесси Рудермана об условиях гонки в диалогах по безопасности :
Другая форма атаки заключается в том, чтобы убедить пользователя дважды щелкнуть определенное место на экране. Это место является местом, где появится кнопка «Да». Первый щелчок запускает диалог; второй щелчок попадает на кнопку «Да». Я сделал демо-версию этой атаки для Firefox и Mozilla.
Решение Firefox, начиная с ошибки 162020 , заключается в отсрочке включения кнопок «Да» / «Установить» до трех секунд после появления диалогового окна. Я считаю, что это единственно возможное исправление, кроме полного отказа ненадежному контенту в возможности поставить диалог. К сожалению, это исправление расстраивает пользователей, которые часто устанавливают расширения.
По сути, все сводится к тому, чтобы предсказать, когда пользователь щелкнет, а затем перехватить этот щелчок в диалоговом окне установки. Рудерман объяснил более краткую игровую ситуацию, подобную этой, в своем отчете об ошибке в Firefox, что в конечном итоге привело к включению периода задержки.
Подводя итог еще раз, его основным пунктом было:
Если я могу контролировать или предсказать, когда и где пользователь будет щелкать, я смогу заставить его установить программное обеспечение .
Есть ли альтернативы задержке?
Период задержки, безусловно, был только одним из способов справиться с этим. Другая могла бы перетасовывать кнопки «Установить», «Отмена» каждый раз, когда вы что-то устанавливаете. Это то, что используется очень часто, но это сбивает с толку пользователя больше, чем помогает.
Другой идеей будет случайное перемещение расположения окна для каждого диалога. Это имеет тот же результат, что и перетасовывание кнопок, а именно - запутывает пользователя.
Кроме того, введение случайности не является окончательным решением. Если для кнопок имеются сочетания клавиш, вы также можете перехватывать нажатия клавиш. Тем не менее, сегодня это больше похоже на устаревшую функцию, так как большинство плагинов в любом случае устанавливаются с официального сайта дополнений Firefox.