ฉันจะเลือกปิดการใช้งานตัวบล็อกการวางได้อย่างไร


37

เนื่องจากเว็บไซต์จำนวนมากเพิ่มการวางรหัสการบล็อกประเภทหนึ่งหรืออีกประเภทหนึ่งลงในฟิลด์อีเมลและรหัสผ่านและผู้คนจำนวนมากใช้ตัวจัดการรหัสผ่าน

ในขณะที่มีส่วนขยายเช่นอย่ามีเพศสัมพันธ์กับวางสำหรับ Chrome หรือกิจวัตรคลิปบอร์ดปิดการใช้งานและdom.event.clipboardevents.enabledการตั้งค่าสำหรับ Firefox ทั้งหมดเหล่านี้ประสบปัญหาที่มีจะมีเหตุผลที่ถูกต้องว่าทำไมเว็บไซต์อาจต้องการที่จะขอเข้าonpaste(เช่น Google เอกสารข้อความที่อุดมไปด้วย การสนับสนุนหรือการจัดการลิงค์ของ Facebook) ดังนั้นฉันไม่ต้องการให้ฟังก์ชั่นนั้นปิดใช้งานอย่างสมบูรณ์

†ไปที่about:configและค้นหาdom.event.clipboardevents.enabledจากนั้นดับเบิลคลิกเพื่อสลับ

อีกทางเลือกหนึ่งคือการแฮ็คทุกหน้าที่คุณพบด้วยรหัสที่กระทำผิดด้วยตนเอง แต่นั่นเป็นเรื่องยุ่งยากและไม่สามารถใช้ได้ในทุกกรณี (เช่นกับหน้านี้ ) หนึ่งข้อเสนอแนะเกี่ยวกับวิธีการทำเช่นนี้สามารถพบได้ในPaste Passwordsของ Martin Brinkmann ลงในช่องแบบฟอร์มที่ถูกบล็อกบนหน้าอินเทอร์เน็ต

เป็นการดีที่ฉันเพียงแค่ต้องการที่จะพูดว่า "เปิดใช้งานการวางในทุกสาขาในหน้านี้" ไม่ว่าจะเป็นปุ่มหรือตัวเลือกเมนูบริบทสำหรับหน้าดังนั้นจะมีวิธีการทำเช่นนี้?

สิ่งที่ใกล้เคียงที่สุดที่ฉันพบคือ Derek Prior's เปิดใช้งานการวางรหัสผ่านซ้ำบนเว็บฟอร์มที่น่ารำคาญแต่วิธีนี้ใช้วิธีการเดียวกับวิธีการด้วยตนเองดังนั้นจึงไม่สามารถทำงานกับหน้าที่เฉพาะเจาะจงที่ฉันมีปัญหาได้ วิธีอื่นอาจใช้ได้


ไซต์เหล่านี้ยังบล็อกการบันทึกรหัสผ่านในตัวของเบราว์เซอร์ (เช่น firefox) หรือไม่ บางทีทำอะไรก็ได้
Xen2050

1
Don't fuck with pasteให้คุณเลือกเว็บไซต์ที่จะปิดการใช้งานหรือไม่
Ruslan

ขอบคุณ @Ruslan ฉันได้ยืนยันว่าส่วนขยายนี้สามารถแก้ปัญหาของฉันได้แล้วและเพิ่มคำตอบเพื่อแสดงความคิดเห็น
Mark Booth

คำตอบ:


11

รูปแบบเว็บที่มีคุณลักษณะวางบล็อคนี้อาจใช้มัน declaratively โดยใช้แอตทริบิวต์ onpaste สำหรับกล่องข้อความหรือโดยการผูกเหตุการณ์ผ่าน JavaScript หรือ jQuery

ขัดกับสิ่งที่คุณระบุฉันสามารถทำให้bookmarklet ของ Derek Priorทำงานบน Chrome (ver 39 บน Windows) ด้วยหน้าที่มีแอตทริบิวต์ (type = "รหัสผ่าน" onPaste = "return false") ในกล่องข้อความรหัสผ่าน

คุณยังสามารถลองใช้bookmarklet ของ Chris Baileyซึ่งจะหยุดการบล็อกการใช้งานผ่าน JavaScript

นี่เป็นเรื่องยุ่งยาก แต่อีกทางเลือกหนึ่งคือการปิดการใช้งาน JavaScript ชั่วคราวสำหรับหน้านั้นซึ่งจะปิดตัวบล็อกการวาง JavaScript สำหรับ Chrome แป้นพิมพ์ลัดเพื่อเปิดเครื่องมือ Dev คือ F12 ถึงแผงการตั้งค่าคือ F1 และที่นี่คุณจะพบช่องทำเครื่องหมายเพื่อปิดใช้งาน JavaScript ในส่วนทั่วไป

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณmvmark การตรวจสอบเพิ่มเติมดูเหมือนว่าหน้าเฉพาะที่ฉันมีปัญหาเกี่ยวกับการใช้วิธีอื่น ฉันได้อัปเดตคำถามของฉันแล้วและฉันคิดว่าอาจจำเป็นต้องใช้คำถามStack Overflowเพื่อหารายการวิธีการที่เป็นไปได้เพื่อให้สามารถเขียน bookmarklet ซึ่งครอบคลุมทั้งหมดได้
Mark Booth


@MarkBooth ใน Chrome คุณสามารถปิดการใช้งาน JavaScript ชั่วคราวสำหรับหน้านั้นซึ่งจะเป็นการปิด JavaScript paste blocker ด้วยปุ่มลัด F12 - F1 โปรดดูคำตอบที่อัปเดตของฉันด้านบน
mvark

1
ขอบคุณmvarkนั่นเป็นวิธีแก้ปัญหาที่ยอดเยี่ยมสำหรับ Chrome สำหรับ Firefox ฉันได้ติดตั้งปิดการใช้งานคลิปบอร์ดและตรึงตัวจัดการส่วนเสริมไว้เพื่อให้สามารถเปิดหรือปิดใช้งานได้ง่าย
Mark Booth

1
@annan อัปเดตลิงก์ตายพร้อมลิงก์บทความที่เก็บถาวรweb.archive.org/web/20170908125754/http://prioritized.net/blog/…
mvark

7

สำหรับหน้าเว็บที่ใช้ jquery (โดยทั่วไปคือหน้าเว็บทั้งหมด) คุณสามารถวาง url จาวาสคริปต์ต่อไปนี้ลงในแถบที่อยู่

javascript:void($('input').attr('onpaste', ''));

2

1 .--- สิ่งนี้อาจทำให้ปัญหาหายไปเป็นเวลาอย่างน้อยสองสามไซต์: COMPLAIN และให้เว็บไซต์เหล่านี้รู้ว่าพวกเขากำลังทำลายล้างไม่ได้เพิ่มความปลอดภัยให้กับผู้ใช้ บางทีพวกเขาอาจไม่ได้คิดผ่าน ...

นี่คือข้อความที่ฉันเพิ่งคัดลอกมาจากบล็อกของ Chris Bailey ที่มี bookmarklet ของเขา (คำแนะนำ: เก็บนี้ในบุ๊คมาร์คของคุณ)
-> ฉันขอแนะนำให้คุณส่งส่วนต่อไปนี้ไปยังไซต์ใด ๆ ที่ต้องได้รับการศึกษาใหม่:

เปิดใช้งานการวางรหัสผ่านใหม่บนเว็บฟอร์มที่น่ารำคาญ (v2)

การรักษาความปลอดภัยจะไม่ถูกนำมาใช้อย่างเบาบางดังนั้นในช่วงไม่กี่วันที่ผ่านมาฉันรู้สึกหงุดหงิดมากขึ้นจากการที่ บริษัท บางแห่งปิดการใช้งานสถานที่เพื่อวางรหัสผ่านลงในแบบฟอร์มการเข้าสู่ระบบ แต่เพิ่มความปลอดภัยมากยิ่งขึ้นพวกเราพิการโดยใช้ตัวจัดการรหัสผ่านเช่น KeePass, [LastPass] หรือ 1Password เนื่องจากรหัสผ่านที่สร้างแบบสุ่มที่ดีนั้นไม่สามารถวางลงในช่องรหัสผ่านได้ ผู้ใช้จะถูกบังคับให้พิมพ์รหัสผ่านด้วยตนเองซึ่งจะส่งเสริมการใช้รหัสผ่านที่สั้นลง (และทำให้ความปลอดภัยลดลง)

ฉันพบสิ่งนี้เกิดขึ้นกับ บริษัท เช่น Apple, Vodafone และNestlé

โชคดีที่ฉันพบวิธีแก้ไขในรูปแบบของ bookmarklet แนวคิดดั้งเดิมมาจากการโพสต์บล็อกการเปิดใช้งานการวางรหัสผ่านใหม่บนเว็บฟอร์มที่น่ารำคาญโดย Derek Prior น่าเสียดายที่วิธีการของเขาเพียงแค่ลบแอตทริบิวต์ onpaste โดยตรง แต่วิธีนี้ไม่ได้ผลหากเว็บไซต์ใช้เฟรมเวิร์กการจัดการเหตุการณ์เช่น jQuery ฉันใช้รหัสต้นฉบับของ Derek และแก้ไขเพื่อให้ทำงานได้ดีขึ้นกับเฟรมเวิร์กเหล่านี้

2 .--> ลองใช้bookmarkletของ Chris ที่นี่แต่เฉพาะใน Chrome, Opera หรือ Vivaldi เมื่อหน้าไม่ได้ใช้ JQuery:

3 .--> ขอให้บางคนเขียนปลั๊กอินที่ครอบคลุมสำหรับเบราว์เซอร์ทั้งหมด ในการเริ่มต้นนี่คือความคิดเห็นและการอ้างอิงแหล่งที่มาจากหน้าของ Chris:

หากต้องการใช้ bookmarklet ให้ลากลิงก์ต่อไปนี้ไปยังแถบบุ๊คมาร์คของเบราว์เซอร์ของคุณ

หมายเหตุความเข้ากันได้: bookmarklet ทำงานได้เฉพาะใน Chrome และ Safari เนื่องจากปัญหาในการอ่านข้อมูลคลิปบอร์ดใน Firefox สามารถขยายได้อย่างง่ายดายเพื่อรวม IE แม้ว่าฉันจะไม่สามารถเข้าถึงระบบ Windows เพื่อทดสอบสิ่งนี้ได้ มีวิธีแก้ไขปัญหาอื่น ๆ ในรูปแบบของส่วนขยายของโครเมี่ยม (เช่นวางรหัสผ่าน ITC & อนุญาตให้วางข้อความลงในฟิลด์แม้ว่าฉันจะไม่ได้ทดสอบ) และฉันจะถือว่าแอดออนที่คล้ายกันนี้มีให้สำหรับเบราว์เซอร์อื่น ๆ ส่วนตัวฉันชอบความเรียบง่ายของ bookmarklet รหัสนั้นถูกโฮสต์บน pastebin หากคุณต้องการเล่นกับมัน:
(ED: และแหล่งที่มาของเขาจะแสดงอยู่ใต้ข้อความที่ตัดตอนมานี้ในหน้าเชื่อมโยงของเขา)


2

โปรดทราบว่าเบราว์เซอร์บางตัวจะลบjavascript:ส่วนของรหัสอย่างเงียบ ๆ ดังนั้นตรวจสอบให้แน่ใจว่ารหัสในแถบที่อยู่ตรงกับรหัสด้านล่าง (พิมพ์ด้วยตนเองjavascript:) ไม่เช่นนั้นจะไม่ทำงาน

สำหรับเว็บไซต์ที่คุณระบุไว้ในคำถามของคุณให้ใช้รหัสต่อไปนี้

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

สำหรับเว็บไซต์อื่น ๆ เกือบทั้งหมดให้วางรหัส JavaScript ต่อไปนี้ลงในแถบที่อยู่

javascript:void(document.querySelectorAll("input").forEach(function(element){element.setAttribute("onpaste","")}));

1
คุณลองคำแนะนำของคุณในหน้าที่ฉันมีปัญหาหรือไม่? ฉันเพิ่งทำไปแล้วและยังคงปรากฏขึ้นในกล่องโต้ตอบ "โปรดพิมพ์รหัสผ่านของคุณ" เมื่อคุณพยายามวางลงในช่องรหัสผ่าน
Mark Booth

สำหรับเว็บไซต์นั้นโดยเฉพาะให้ใช้รหัสต่อไปนี้javascript:void($('#pwd, #pwd2').unbind('paste'));
Tomas Echeverri Valencia

ฉันได้อัปเดตคำตอบด้วยข้อมูลโค้ด (ความคิดเห็นก่อนหน้านี้ด้านบน) ที่ใช้ได้กับเว็บไซต์นั้น ๆ แต่มันจะไม่อาจทำงานได้ทุกที่อื่น
โทมัส Echeverri บาเลนเซีย

Chrome ลบjavascript:ส่วนของรหัสที่คุณวางในแถบที่อยู่คุณต้องตรวจสอบให้แน่ใจว่าข้อมูลที่คุณเรียกใช้นั้นตรงกับที่ฉันแชร์ไว้ด้านบนไม่เช่นนั้นมันจะไม่ทำงาน
Tomas Echeverri Valencia

1
ฉันได้อัปเดตคำตอบแล้วเพื่อให้ผู้คนรู้ว่าจำเป็นต้องเพิ่มด้วยตนเองjavascript:เมื่อวางลงในแถบที่อยู่
Tomas Echeverri Valencia

0

ปรากฏว่าตั้งแต่ผมถามคำถามนี้เดิมทำไม่ได้มีเพศสัมพันธ์กับวางนามสกุลจาค็อบ Swanner ได้ดีขึ้นมากและอาโรน Raimist ได้รังเพลิงมัน Firefox

ตอนนี้ทั้งคู่อนุญาตให้เปิดใช้งานฟังก์ชั่นนี้ในแต่ละไซต์และแม้ว่าจะไม่ได้แก้ไขปัญหาโดยอัตโนมัติในไซต์petplanet ที่เป็นปัญหาที่ฉันพูดถึง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.