Bisakah saya memastikan perintah keyboard tidak terjebak oleh skrip browser?

14

Apakah mungkin untuk mengubah Safari untuk memastikan kombinasi tombol perintah suka Hatau Lpergi ke Safari yang bertentangan dengan isi jendela Safari?

Ini muncul bagi saya paling sering di situs ini karena jendela editor (seperti di mana saya mengetik sekarang) menangkap penekanan tombol ini untuk membuat judul dan tautan, tetapi secara umum, sepertinya lubang keamanan untuk memungkinkan situs untuk menangkap penekanan tombol perintah .

Harap dicatat bahwa saya sedang mencari cara untuk melakukan ini tanpa menonaktifkan JavaScript sama sekali.

Apa pun nilainya, saya menjalankan Mountain Lion.

Daniel
sumber
4
Anda dapat menggunakan NinjaKit untuk menonaktifkan pintasan yang digunakan di situs Stack Exchange. Lihat apple.stackexchange.com/questions/60587 dan meta.stackexchange.com/questions/2980 .
Lri
1
Itu luar biasa, @LauriRanta, dan membantu dengan masalah khusus ini, tetapi sebagai lubang keamanan umum, saya suka cara untuk mencegah situs web jahat menjebak ⌘W atau ⌘Q tanpa hanya menonaktifkan JavaScript.
Daniel
Saya menambahkan tag keamanan. Karena untuk mengetahui bagian mana dari aplikasi yang membaca ( mendengarkan ) keyboard adalah fitur keamanan dasar. Jika ada perubahan pendengar keyboard ditampilkan oleh bilah menu, banyak serangan berdasarkan sniffer akan melakukan sebagai coackroaches ketika Anda menyalakan lampu.
dan
@DanielLawson Akankah ekstensi Safari open source ini membantu javascript-blocker.toggleable.com
Simon

Jawaban:

2

Satu-satunya cara jitu untuk menghindari input keyboard trap JavaScript adalah dengan menonaktifkan JavaScript di browser.

Saya mengerti Anda ingin membiarkan JavaScript tetap aktif, tetapi ini dirancang untuk memberikan hampir seluruh kendali tombol mentah ke browser dan tidak ke aplikasi begitu OS menyerahkannya dengan data. Ini berarti Anda akan memerlukan solusi kode spesifik untuk setiap implementasi keyboard keyboard pada setiap halaman / situs yang berpotensi untuk memastikan kunci-kunci kunci yang sewenang-wenang seperti Command H dikirim ke Safari alih-alih JavaScript.

Lihat tautan ini untuk tinjauan umum tentang bagaimana penekanan tombol ditangani:

Tautan terakhir adalah penguji untuk menunjukkan kepada Anda peristiwa mentah dan Anda akan melihat bahwa bahkan ⌘Q singkat dapat terjebak oleh JavaScript jika pengembang situs web ingin melakukannya.

bmike
sumber
Pengandar keyboard adalah bagian dari OS, sehingga OS meneruskan penekanan tombol ke browser, yang meneruskan penekanan tombol ke konten web, yang tampaknya kemudian dapat memutuskan penekanan tombol untuk kembali ke browser dan / atau OS ...
Daniel
Ini mungkin bahkan lebih rumit dari itu dengan ruang kernel / ruang pengguna / API dan kompleksitas kerangka kerja.
bmike