Bagaimana saya bisa secara selektif menonaktifkan paste blocker

37

Karena semakin banyak situs web yang menambahkan kode pemblokiran rekat dari satu jenis atau lainnya ke bidang e-mail dan kata sandi dan semakin banyak orang menggunakan pengelola kata sandi, keduanya semakin mengalami konflik.

Meskipun ada ekstensi seperti Jangan bercinta dengan pasta untuk Chrome atau manipulasi clipboard Nonaktifkan dan dom.event.clipboardevents.enabledpreferensi untuk FireFox, semua ini menderita masalah yang ada adalah alasan yang sah mengapa situs mungkin ingin menghubungkan ke onpaste(seperti Google docs rich text dukungan atau penanganan tautan Facebook) jadi saya tidak ingin fungsi itu sepenuhnya dinonaktifkan.

† Pergi ke about:configdan cari dom.event.clipboardevents.enabledlalu klik dua kali untuk beralih.

Opsi lain adalah meretas setiap halaman yang Anda temukan dengan kode yang menyinggung secara manual, tetapi itu banyak kesulitan dan tidak berfungsi dalam setiap kasus (seperti dengan halaman ini ). Satu saran tentang bagaimana melakukan ini dapat ditemukan pada Sandi Sandi Martin Brinkmann ke dalam bidang formulir yang diblokir di halaman Internet .

Idealnya saya hanya ingin mengatakan "Aktifkan kembali tempel pada semua bidang pada halaman ini" baik sebagai tombol atau opsi menu konteks untuk halaman, jadi apakah ada cara untuk melakukan ini?

Hal terdekat yang saya temukan adalah Pengaktifan Ulang Kata Sandi yang Diaktifkan Derek Prior pada Formulir Web yang Mengganggu tetapi ini menggunakan metode yang sama dengan metode manual, jadi gagal untuk bekerja dengan halaman tertentu yang bermasalah, dan saya tidak tahu berapa banyak metode lain mungkin tersedia.

Mark Booth
sumber
Apakah situs-situs ini juga memblokir penyimpanan kata sandi bawaan browser (mis. Firefox)? Mungkin melakukan apa saja?
Xen2050
1
Don't fuck with pastetidak membiarkan Anda memilih situs web tertentu untuk menonaktifkan manipulasi
Ruslan
Terima kasih @Ruslan, saya telah memverifikasi ekstensi ini sekarang menyelesaikan masalah saya, dan menambahkan jawaban untuk mencerminkan hal itu.
Mark Booth

Jawaban:

11

Formulir web yang memiliki fitur pemblokir tempel ini dapat mengimplementasikannya secara deklaratif dengan menggunakan atribut onpaste untuk kotak teks atau dengan mengikat suatu peristiwa melalui JavaScript atau jQuery .

Bertentangan dengan apa yang Anda nyatakan, saya bisa membuat bookmarklet Derek Prior bekerja di Chrome (ver 39 di Windows) dengan halaman yang memiliki atribut (ketik = "kata sandi" onPaste = "return false") pada kotak teks kata sandi

Anda juga dapat mencoba bookmarklet Chris Bailey yang memecah blocker yang diimplementasikan melalui JavaScript.

Ini agak merepotkan, tetapi alternatif lain adalah menonaktifkan JavaScript untuk sementara waktu untuk halaman itu yang pada gilirannya akan mematikan pemblokir pasta JavaScript. Untuk Chrome, pintasan keyboard untuk membuka Dev Tools adalah F12, untuk mencapai panel Pengaturan adalah F1 & di sini Anda akan menemukan kotak centang untuk Nonaktifkan JavaScript di bagian Umum.

masukkan deskripsi gambar di sini

mvark
sumber
Terima kasih mvmark . Menyelidiki lebih lanjut, sepertinya halaman tertentu saya mengalami masalah dengan menggunakan beberapa metode lain. Saya telah memperbarui pertanyaan saya, dan saya pikir pertanyaan Stack Overflow mungkin diperlukan untuk menghasilkan daftar metode yang pasti, sehingga bookmarklet dapat ditulis yang mencakup semuanya.
Mark Booth
@MarkBooth Di Chrome, Anda dapat menonaktifkan JavaScript sementara untuk halaman itu yang pada gilirannya akan mematikan pemblokir tempel JavaScript dengan pintasan F12 - F1. Mohon lihat jawaban saya yang diperbarui di atas.
mvark
1
Terima kasih mvark , itu solusi yang bagus untuk Chrome. Untuk Firefox saya telah menginstal Nonaktifkan manipulasi clipboard dan menyematkan Add-ons Manager sehingga mudah untuk diaktifkan atau dinonaktifkan.
Mark Booth
1
@annan memutakhirkan tautan mati dengan tautan artikel yang diarsipkan web.archive.org/web/20170908125754/http://prioritized.net/blog/…
mvark
7

Untuk halaman yang menggunakan jquery (pada dasarnya semua halaman web). Anda dapat menempelkan url javascript berikut ke bilah alamat

javascript:void($('input').attr('onpaste', ''));
Att Righ
sumber
2

1 .--- Ini dapat membuat masalah hilang untuk setidaknya beberapa situs: COMPLAIN, dan biarkan situs web ini tahu bahwa mereka MENGHANCURKAN, bukan meningkatkan keamanan bagi pengguna mereka. Mungkin mereka belum memikirkannya ....

Inilah teks yang baru saja saya salin dari blog Chris Bailey yang memiliki bookmarklet-nya. (Petunjuk: Simpan ini di bookmark Anda) .
-> Saya sarankan Anda dapat mengirim BAGIAN berikut ke situs mana pun yang perlu dididik ulang:

Mengaktifkan Kembali Menyisipkan Kata Sandi pada Formulir Web yang Mengganggu (v2)

Keamanan tidak bisa dianggap enteng sehingga dalam beberapa hari terakhir saya menjadi semakin frustrasi dengan desakan beberapa perusahaan untuk menonaktifkan fasilitas untuk menempelkan kata sandi ke dalam formulir login. Alih-alih meningkatkan keamanan, ini melumpuhkan kita yang menggunakan pengelola kata sandi seperti KeePass, [LastPass], atau 1Password, karena kata sandi lama yang dihasilkan secara acak tidak dapat dengan mudah disisipkan ke dalam bidang kata sandi. Sebagai gantinya pengguna dipaksa untuk mengetikkan kata sandi secara manual yang akan mempromosikan penggunaan kata sandi yang lebih pendek (dan dengan demikian melemahkan keamanan).

Saya menemukan ini terjadi pada perusahaan seperti Apple, Vodafone dan Nestlé.

Untungnya saya telah menemukan solusi dalam bentuk bookmarklet. Gagasan orisinal datang dari posting blog Mengaktifkan Kembali Tempel Kata Sandi di Formulir Web yang Mengganggu oleh Derek Prior. Sayangnya metodenya hanya menghapus atribut onpaste secara langsung tetapi ini tidak berfungsi jika situs web menggunakan kerangka kerja penanganan acara seperti jQuery. Saya telah mengambil kode asli Derek dan memodifikasinya agar berfungsi lebih baik dengan kerangka kerja ini.

2 .--> Coba bookmarklet Chris yang tersedia di sini , tetapi hanya di Chrome, Opera, atau Vivaldi saat halaman TIDAK menggunakan JQuery:

3 .--> Minta seseorang untuk menulis plugin yang komprehensif untuk semua browser. Untuk memulai, berikut adalah komentar dan referensi sumbernya dari halaman Chris:

Untuk menggunakan bookmarklet, seret tautan berikut ke bilah bookmark browser Anda.

Catatan Kompatibilitas: Bookmarklet hanya berfungsi di Chrome dan Safari karena kesulitan membaca data clipboard di Firefox. Itu dapat dengan mudah diperluas untuk memasukkan IE walaupun saya tidak memiliki akses ke sistem Windows untuk menguji ini. Ada solusi lain untuk masalah ini dalam bentuk ekstensi chrome (mis. Tempel Kata Sandi ITC & Izinkan Tempel ke dalam bidang teks walaupun saya belum mengujinya) dan saya akan menganggap addons serupa tersedia untuk browser lain. Secara pribadi saya suka kesederhanaan dari bookmarklet. Kode diinangi pada pastebin jika Anda ingin bermain dengannya:
(ED: Dan sumbernya juga tercantum di bawah kutipan ini, pada halaman tertautnya.)

DaaBoss
sumber
2

Harap perhatikan beberapa browser secara diam-diam menghapus javascript:bagian dari kode. Jadi pastikan kode di bilah alamat persis seperti yang ada di bawah ini (ketik secara manual javascript:) jika tidak, kode itu tidak akan berfungsi

Untuk situs web spesifik yang Anda sebutkan dalam pertanyaan Anda, gunakan kode berikut

javascript:void($('#pwd, #pwd2').unbind('paste'));

Untuk hampir semua situs web lainnya tempelkan kode JavaScript berikut ke bilah alamat

javascript:void(document.querySelectorAll("input").forEach(function(element){element.setAttribute("onpaste","")}));
Tomas Echeverri Valencia
sumber
1
Apakah Anda mencoba saran Anda pada halaman yang saya punya masalah ? Saya baru saja melakukannya dan masih muncul dialog "Silakan ketik kata sandi Anda" ketika Anda mencoba menempelkannya ke bidang kata sandi.
Mark Booth
Untuk situs itu secara khusus, gunakan kode berikutjavascript:void($('#pwd, #pwd2').unbind('paste'));
Tomas Echeverri Valencia
Saya telah memperbarui jawaban dengan snippet (komentar sebelumnya di atas) yang berfungsi untuk situs web tertentu. Tapi itu mungkin tidak akan berfungsi di tempat lain
Tomas Echeverri Valencia
Chrome menghapus javascript:bagian dari kode yang Anda rekatkan di bilah alamat. Anda harus memastikan snippet yang Anda jalankan persis seperti yang saya bagikan di atas jika tidak, tidak akan berfungsi
Tomas Echeverri Valencia
1
Saya telah memperbarui jawabannya sehingga orang-orang tahu perlunya menambahkan secara manual javascript:ketika menempel ke bilah alamat
Tomas Echeverri Valencia
0

Nampaknya sejak saya menanyakan pertanyaan ini, dokumen asli Don't fuck with extension paste oleh Jacob Swanner telah meningkat pesat, dan Aaron Raimist telah memindahkannya ke Firefox .

Keduanya sekarang memungkinkan fungsi ini diaktifkan pada basis per situs, dan meskipun tidak secara otomatis memperbaiki masalah pada situs petplanet bermasalah yang saya sebutkan, mengaktifkannya secara manual sekarang memperbaiki masalah di situs tersebut.

Mark Booth
sumber