Bagaimana mencegah keystroke grabbing / hijacking oleh situs web di Firefox? [duplikat]

18

Beberapa situs web (semakin banyak jumlahnya akhir-akhir ini, tampaknya) membajak berbagai kombinasi kunci untuk melakukan tindakan di dalam dan ditentukan oleh situs web itu sendiri. Ada contoh spesifik /di GMail dalam pertanyaan berjudul yang tidak tepat; ada kotak edit StackExchange yang membajak Ctrl+ Guntuk "Tambahkan gambar" (daripada Firefox yang biasa "Temukan berikutnya"); ada pembajakan Facebook Escuntuk menyembunyikan hamparan alih-alih "berhenti memuat" yang biasa. Saya yakin saya bisa terus dan terus dengan contoh-contoh, tetapi ini harus cukup untuk menggambarkan bahwa pertanyaan ini bukan tentang satu situs web tertentu.

Saya menggunakan keyboard secara luas dan cara pintas keyboard berperilaku berbeda berdasarkan situs web tempat saya berada merupakan gangguan besar bagi saya. Jika saya menekan pintasan keyboard yang ditentukan browser, saya ingin mengambil tindakan yang ditentukan oleh browser, bukan sesuatu yang lain. Saya juga tidak ingin fitur tertentu yang biasanya dapat diakses dengan keyboard tidak dapat diakses oleh keyboard, atau tiba-tiba dipetakan kembali ke kombinasi tombol lainnya.

Saya menyadari bahwa ini mungkin membuat beberapa hal lebih rumit di beberapa situs, tetapi dalam hal ini saya lebih suka konsistensi.

Apakah mungkin untuk mengatur Firefox untuk mencegah atau mengabaikan pembajakan seperti itu oleh situs web dan mendukung perilaku Firefox sendiri?

Solusi yang paling tidak berfungsi untuk Firefox versi 20, 21 dan 22 pada Linux dan Windows akan ideal.

Sunting Mozilla Bugzilla Bug 380637 Haruskah halaman web dapat mengganti pintasan keyboard browser? tampaknya menunjukkan itu setidaknya sedang dilihat. Bug itu awalnya diajukan pada pertengahan 2007 dan masih aktif pada pertengahan 2013. Yang cukup menarik, bug 775002 Memungkinkan pengguna untuk menonaktifkan javascript untuk membajak pintasan keyboard dianggap sebagai duplikat di sekitar Firefox 15.

sebuah CVn
sumber
2
Saya curiga mereka melakukan ini melalui Javascript. Jika demikian, tidak akan ada cara umum untuk menonaktifkannya tanpa menonaktifkan Javascript.
Daniel R Hicks
ya mungkin api.jquery.com/keypress . Akan menarik jika ada addon yang memungkinkan penulisan ulang .js selektif di sisi klien. Anda kemudian bisa berkomentar panggilan ini menggunakan regex atau serupa
James
4
Bahkan jika dilakukan melalui Javascript, di suatu tempat harus ada pendengar pers utama yang terlibat, dan fungsi itu disediakan oleh browser . Saya tidak melihat alasan mengapa kode itu tidak dapat dimodifikasi sehingga browser menginterpretasikan penekanan tombol apa pun (mungkin dengan tombol pengubah) terlebih dahulu, dan jika browser mengambil tindakan sebagai respons, tekan tombol tidak diteruskan ke Javascript yang disediakan oleh halaman web. Membuat perilaku seperti itu dapat dikonfigurasi (jika Anda tidak ingin mengeksposnya melalui pengaturan GUI, masih ada tentang: config yang sudah memungkinkan akses ke banyak pengaturan lanjutan semacam itu) seharusnya cukup mudah.
CVn
@Downvoter Mengapa downvote?
CVn
1
@Karan Pertanyaan itu sudah berusia tiga tahun dan jawaban yang diterima berbicara tentang Firefox 3.6 . Meskipun saya tidak sepenuhnya setuju dengan skema penomoran versi Firefox saat ini, kami mungkin jauh di atas 20 rilis sejak itu, lebih dari tiga tahun pengembangan. Apa yang harus dikatakan jawabannya di dalamnya masih berlaku untuk versi Firefox saat ini?
CVn

Jawaban:

1

Anda bisa menggunakan plugin Vimperator. Ditujukan untuk menjadikan Firefox sebagai antarmuka keyboard saja, ia pertama-tama mendengarkan penekanan tombol apa pun yang Anda tekan dan lakukan tindakannya sendiri. Terkadang ketika Anda harus menggunakan pembajak keyboard yang ditentukan situs, Anda dapat dengan mudah mengaktifkan / menonaktifkan mode pass-through untuk beberapa waktu.

Mari kita ambil contoh GMail, yang menawarkan sejumlah pintasan keyboard. Tetapi ketika Anda menekan pintasan seperti itu, itu ditangani oleh Vimperator itu sendiri. Misalnya, menekan /di dalam Gmail biasanya menempatkan kursor di kotak pencarian. Tetapi menekan /halaman GMail ketika Vimperator aktif memicu pencarian halaman default-nya (ala pencarian di Vim editor). Kasus yang sama untuk pintasan GMail lainnya seperti o catau bahkan Ctrl+Enter. Artinya, Vimperator akan menjadi pendengar ke-0 untuk penekanan tombol di Firefox, menunggangi bahkan pendengar pertama yang mungkin sehingga pintasan keyboard Anda bersifat global di seluruh browser.

Vimperator pada dasarnya adalah bungkus Vim di atas Firefox. Jika Anda merasa nyaman dengan Vim, Vimperator akan tampak seperti teman lama yang hilang. :-)

Bagaimanapun, beberapa pintasan keyboard Vimperator untuk Anda mulai dengan:

o<link>membuka. Urutan ini menyebabkan baris perintah Vimperator (di bagian bawah layar) diaktifkan dan perintah open <link>akan ditempatkan di sana, dengan ruang di tengahnya dimasukkan untuk Anda. Tekan Enteruntuk memuat halaman.

t<linkmengaktifkan perintah tabopendan membuka tautan di tab baru.

gtberalih ke tab berikutnya. Ctrl+Tabdan Ctrl+PgUp/Dnjuga bekerja.

gT beralih ke tab sebelumnya.

ZZ menutup FF setelah menyimpan sesi.

flabel semua tautan di tampilan halaman dengan angka yang disorot. Mengetik nomor membuka tautan. Semua bidang yang disorot dapat dicari. Jadi, alih-alih mengetik angka, Anda bisa mengetik teks mana saja di tautan yang disorot yang ingin Anda tuju.

F membuka tautan di tab latar belakang.

h j k luntuk menavigasi halaman left down updanright

Vimperator menawarkan sederetan pintasan keyboard (dan tentu saja membuat seluruh pengalaman bebas dari rasa sakit tanpa mouse), dan sebagian besar fungsi pintas standar FF berfungsi seperti biasanya. Anda dapat menemukan pintasan untuk menyorot teks, menyalinnya, menavigasi halaman seolah-olah itu adalah dokumen teks, memperbesar / memperkecil, mensimulasikan hover pada tautan, dan cukup masukkan, apa saja yang akan membuat Firefox merespons mouse.

Satu-satunya tempat di mana ia tidak berfungsi sejauh yang saya gunakan, adalah di dalam kotak Flash, karena, FF tidak dapat mencapai apa yang ada di dalamnya.

Mungkin perlu sedikit membiasakan diri jika Anda tidak tahu tentang Vim atau baru mengenalnya. Namun, bantuan online yang sangat luas hanya berjarak :h<Enter>jauh.

Inilah tautannya .

Sriharsha
sumber
rupanya, vimperator tidak lagi kompatibel dengan build firefox modern.
sylvainulg
-1
  • Coba gunakan plugin noscript untuk firefox untuk menonaktifkan beberapa skrip JS http://noscript.net/
Simpsons Homer
sumber
1
NoScript memungkinkan Anda untuk memuat atau tidak memuat semua Javascript dari domain tertentu. Saya sudah menggunakannya, dan sangat bagus dalam hal ini, tetapi apakah Anda sudah mencoba menggunakan mis. Facebook atau StackExchange tanpa Javascript? Pengalamannya berada di suatu tempat antara sangat menyakitkan dan benar-benar tidak dapat digunakan. Menonaktifkan semua Javascript secara global untuk Facebook hanya untuk mendapatkan kunci Esc saya kembali normal agak berlebihan.
CVn
coba tandai skrip sebagai Pic tidak terpercaya: i.stack.imgur.com/45aAv.png atau gunakan proxy untuk memblokir respons apa pun dari skrip misalnya. fiddler
Homer Simpsons
Jika saya menggunakan NoScript untuk menandai mis. Facebook.com sebagai tidak terpercaya, tidak ada Javascript yang berasal dari facebook.com akan dijalankan. Ini bukan yang saya inginkan. Harap baca kembali pertanyaannya.
CVn
Dapatkan itu menggunakan Tautan ini: addons.mozilla.org/sv-se/firefox/addon/greasemonkey dan tautan skrip: userscripts.org/scripts/show/125936 <= lihat di sini ("if (src.search (/ bad \. js /)! = -1) {")
Homer Simpsons
Saya masih tidak melihat bagaimana itu membantu saya. Bisakah Anda mengeditnya menjadi jawaban Anda dengan penjelasan yang lebih lengkap tentang bagaimana jawaban itu menjawab pertanyaan?
CVn