Чи можу я переконатися, що команди клавіатури не потрапляють у сценарії браузера?


14

Чи можливо налаштувати Safari, щоб забезпечити комбінації командних клавіш, наприклад, Hабо Lперейти до Safari на відміну від вмісту вікна Safari?

Це найчастіше для мене з'являється на цьому сайті, тому що вікно редактора (як, де я зараз набираю текст) фіксує ці натискання клавіш, щоб створювати заголовки та посилання, але загалом це здається діркою безпеки, що дозволяє сайтам фіксувати командні натискання клавіш .

Зауважте, що я шукаю спосіб це зробити, не вимикаючи JavaScript взагалі.

Що б то не було, я біжу на гірський лев.


4
Ви можете використовувати NinjaKit для відключення ярликів, які використовуються на сайтах Stack Exchange. Див. Apple.stackexchange.com/questions/60587 та meta.stackexchange.com/questions/2980 .
Лрі

1
Це дивовижно, @LauriRanta, і це допомагає у вирішенні цієї конкретної проблеми, але, як загальний отвір у безпеці, я хотів би отримати спосіб запобігти зловмисним веб-сайтам від лову ⌘W або ⌘Q, не вимкнувши JavaScript.
Даниїл

Я додав тег безпеки. Оскільки знати, яка частина програми читає ( слухає ) клавіатуру - це основна функція безпеки. Якщо будь-яка зміна слухача клавіатури відображалася на панелі меню, багато атак, заснованих на сніферах, будуть виконуватись як зловмисники, коли ви включаєте світло.
дан

@DanielLawson Чи допоможе це розширення Safari з відкритим вихідним кодом javascript-blocker.toggleable.com
Саймон

Відповіді:


2

Єдиний надійний спосіб уникнути введення вловлювача клавіатури JavaScript - це відключити JavaScript у браузері.

Я розумію, що ви хочете залишити JavaScript, але він розроблений так, щоб передати майже повний контроль над натисканням клавіш на браузер, а не на додаток, як тільки ОС передає вхідні дані. Це означає, що вам знадобиться певне рішення коду для кожної реалізації фільтрації на клавіатурі на потенційно кожній окремій сторінці / сайті, щоб забезпечити надсилання довільних акордів ключів, таких як Command H, на Сафарі замість JavaScript.

Перегляньте ці посилання для огляду способів обробки натискань на клавіші:

Останнє посилання - це тестер, який показує вам необґрунтовані події, і ви побачите, що навіть короткий ⌘Q може бути захоплений JavaScript, якщо розробник веб-сайту захоче це зробити.


Драйвер клавіатури є частиною ОС, тому ОС передає натискання клавіш на браузер, який передає натискання клавіш на веб-контент, який, очевидно, потім отримує рішення про те, які натискання клавіш повернути до браузера та / або ОС…
Даніель

Це, мабуть, ще складніше, ніж це з простором ядра / простором користувача / API та складними рамками.
bmike
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.