Wie kann ich Paste-Blocker selektiv deaktivieren?

37

Da immer mehr Websites E-Mail- und Kennwortfeldern den einen oder anderen Paste-Blocking-Code hinzufügen und immer mehr Benutzer Kennwort-Manager verwenden, geraten die beiden zunehmend in Konflikt.

Zwar gibt es Erweiterungen wie sind Do not fuck with Paste für Chrome oder deaktivieren Zwischenablage Manipulationen und die dom.event.clipboardevents.enabledPräferenz für FireFox, leiden alle diese das Problem , dass es sind legitime Gründe , warum Websites wollen vielleicht in hook onpaste(wie Google Text & Tabellen Rich - Text Ich möchte nicht, dass diese Funktionalität vollständig deaktiviert wird.

† Gehen Sie zu about:configund suchen Sie nach, und doppelklicken dom.event.clipboardevents.enabledSie zum Umschalten.

Eine andere Möglichkeit besteht darin, jede Seite, die Sie mit dem fehlerhaften Code finden, manuell zu hacken, aber das ist sehr mühsam und funktioniert nicht in jedem Fall (wie bei dieser Seite ). Einen Vorschlag dazu finden Sie in Martin Brinkmanns Einfügen von Passwörtern in gesperrte Formularfelder auf der Internetseite .

Idealerweise möchte ich nur "Einfügen auf allen Feldern dieser Seite erneut aktivieren" als Schaltfläche oder als Kontextmenüoption für die Seite sagen können. Gibt es also eine Möglichkeit, dies zu tun?

Das Nächste, was ich gefunden habe, ist, dass Derek Prior das Einfügen von Passwörtern in nervige Webformulare wieder aktiviert, aber dies verwendet dieselbe Methode wie die manuelle Methode, funktioniert also nicht mit der spezifischen Seite, mit der ich Probleme hatte, und ich habe keine Ahnung, wie viele Möglicherweise sind auch andere Methoden verfügbar.

Mark Booth
quelle
Blockieren diese Websites auch die integrierte Passwortspeicherung des Browsers (z. B. Firefox)? Möglicherweise tun, was es tut?
Xen2050
1
Don't fuck with pastekönnen Sie bestimmte Websites auswählen, für die die Manipulationen deaktiviert werden sollen
Ruslan
Danke @Ruslan, ich habe überprüft, dass diese Erweiterung nun mein Problem löst, und eine Antwort hinzugefügt , um dies widerzuspiegeln.
Mark Booth

Antworten:

11

Webformulare mit dieser Funktion zum Blockieren des Einfügens können dies deklarativ implementieren, indem Sie das onpaste-Attribut für ein Textfeld verwenden oder ein Ereignis über JavaScript oder jQuery binden .

Entgegen Ihrer Aussage konnte ich das Lesezeichen von Derek Prior für Chrome (Version 39 unter Windows) mit Seiten mit den Attributen (type = "password" onPaste = "return false") im Kennworttextfeld verwenden

Sie können auch das Bookmarklet von Chris Bailey ausprobieren, das über JavaScript implementierte Paste-Blocker aufhebt.

Dies ist etwas umständlich, aber eine andere Alternative besteht darin, JavaScript vorübergehend für diese Seite zu deaktivieren, wodurch der JavaScript-Einfügeblocker deaktiviert wird. Für Chrome ist die Tastenkombination zum Öffnen der Dev Tools F12, zum Öffnen des Einstellungsfensters F1 und hier finden Sie das Kontrollkästchen zum Deaktivieren von JavaScript im Abschnitt "Allgemein".

Bildbeschreibung hier eingeben

mvark
quelle
Danke mvmark . Weitere Untersuchungen ergeben, dass die Seite, mit der ich ein Problem hatte, eine andere Methode verwendet. Ich habe meine Frage aktualisiert und denke, dass eine Stapelüberlauf- Frage erforderlich sein könnte, um eine definitive Liste möglicher Methoden zu erstellen, sodass ein Lesezeichen geschrieben werden kann, das alle abdeckt.
Mark Booth
@MarkBooth In Chrome können Sie JavaScript vorübergehend für diese Seite deaktivieren, wodurch der JavaScript-Einfügeblocker mit der Verknüpfung F12 - F1 deaktiviert wird. Bitte sehen Sie meine aktualisierte Antwort oben.
MVARK
1
Vielen Dank, mvark , das ist eine großartige Lösung für Chrome. Für Firefox habe ich Zwischenablage-Manipulationen deaktivieren installiert und den Add-On-Manager angeheftet, damit es einfach zu aktivieren oder zu deaktivieren ist.
Markieren Sie den Stand
1
@annan hat den toten Link mit dem Link zum archivierten Artikel web.archive.org/web/20170908125754/http://prioritized.net/blog/…
mvark 10.06.18
7

Für Seiten, die jquery verwenden (im Grunde alle Webseiten). Sie können die folgende Javascript-URL in die Adressleiste einfügen

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

1 .--- Dies kann dazu führen, dass das Problem für mindestens einige Websites behoben wird : BESCHWERDEN Sie sich und teilen Sie diesen Websites mit, dass sie ZERSTÖREN und die Sicherheit für ihre Benutzer nicht verbessern. Vielleicht haben sie es einfach nicht durchdacht ...

Hier ist der Text, den ich gerade aus Chris Baileys Blog mit seinem Lesezeichen kopiert habe. (Hinweis: Behalten Sie dies in Ihren Lesezeichen) .
-> Ich würde vorschlagen, dass Sie TEIL des Folgenden an jede Site senden, die umerzogen werden muss:

Erneutes Aktivieren des Einfügens von Kennwörtern in nervigen Webformularen (v2)

Sicherheit ist nicht leicht zu nehmen, so dass ich in den letzten Tagen zunehmend frustriert bin, dass einige Unternehmen die Möglichkeit deaktiviert haben, Passwörter in Anmeldeformulare einzufügen. Anstatt die Sicherheit zu erhöhen, lähmt dies diejenigen von uns, die Passwortmanager wie KeePass, [LastPass] oder 1Password verwenden, da die schönen langen, zufällig generierten Passwörter nicht einfach in das Passwortfeld eingefügt werden können. Stattdessen müssen Benutzer Kennwörter manuell eingeben, was die Verwendung kürzerer Kennwörter fördert (und dadurch die Sicherheit schwächt).

Ich habe festgestellt, dass dies bei Unternehmen wie Apple, Vodafone und Nestlé der Fall ist.

Zum Glück habe ich eine Lösung in Form eines Bookmarklets gefunden. Die ursprüngliche Idee stammte aus dem Blog-Beitrag Erneutes Aktivieren des Einfügens von Kennwörtern in nervige Webformulare von Derek Prior. Leider entfernt seine Methode das onpaste-Attribut einfach direkt, aber dies funktioniert nicht, wenn die Website ein Framework zur Ereignisbehandlung wie jQuery verwendet. Ich habe Dereks Originalcode genommen und ihn modifiziert, um mit diesen Frameworks besser zu funktionieren.

2 .--> Probieren Sie Chris ' Lesezeichen aus, das hier verfügbar ist , aber nur in Chrome, Opera oder Vivaldi, wenn die Seite JQuery NICHT verwendet:

3 .--> Bitten Sie jemanden, ein umfassendes Plugin für alle Browser zu schreiben. Hier sind seine Kommentare und Quellenangaben von Chris 'Seite:

Um das Lesezeichen zu verwenden, ziehen Sie den folgenden Link in die Lesezeichenleiste Ihres Browsers.

Hinweis zur Kompatibilität: Das Lesezeichen funktioniert nur in Chrome und Safari, da es in Firefox schwierig ist, Daten aus der Zwischenablage zu lesen. Es könnte leicht erweitert werden, um IE einzuschließen, obwohl ich keinen Zugang zu einem Windows-System habe, um dies zu testen. Es gibt andere Lösungen für dieses Problem in Form von Chrome-Erweiterungen (z. B. ITC-Kennwort einfügen und Einfügen in Feldtext zulassen, obwohl ich sie nicht getestet habe), und ich würde davon ausgehen, dass ähnliche Addons für die anderen Browser verfügbar sind. Persönlich mag ich die Einfachheit des Bookmarklets. Der Code wird auf Pastebin gehostet, wenn Sie damit spielen möchten:
(ED: Und seine Quelle ist auch unter diesem Auszug auf seiner verlinkten Seite aufgeführt.)

DaaBoss
quelle
2

Bitte beachten Sie, dass einige Browser den javascript:Teil des Codes unbemerkt entfernen . Stellen Sie also sicher, dass der Code in der Adressleiste genau dem unten angegebenen entspricht (geben Sie ihn manuell ein javascript:), da er sonst nicht funktioniert

Verwenden Sie für die bestimmte Website, die Sie in Ihrer Frage erwähnt haben, den folgenden Code

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

Fügen Sie für fast alle anderen Websites den folgenden JavaScript-Code in die Adressleiste ein

javascript:void(document.querySelectorAll("input").forEach(function(element){element.setAttribute("onpaste","")}));
Tomas Echeverri Valencia
quelle
1
Haben Sie Ihren Vorschlag auf der Seite ausprobiert, mit der ich ein Problem hatte ? Ich habe es gerade getan und es erscheint immer noch ein Dialogfeld "Bitte geben Sie Ihr Passwort ein", wenn Sie versuchen, es in das Passwortfeld einzufügen.
Mark Booth
Verwenden Sie für diese Website den folgenden Codejavascript:void($('#pwd, #pwd2').unbind('paste'));
Tomas Echeverri Valencia
Ich habe die Antwort mit dem Snippet (vorheriger Kommentar oben) aktualisiert, das für diese bestimmte Website funktioniert. Aber es wird wahrscheinlich nirgendwo anders funktionieren
Tomas Echeverri Valencia
Chrome entfernt den javascript:Teil des Codes Sie in der Adressleiste einfügen Sie sicherstellen müssen , dass das Snippet Sie läuft genau wie die, die ich oben Aktie sonst wird es nicht funktionieren
Tomas Echeverri Valencia
1
Ich habe die Antwort aktualisiert, damit die Leute wissen, dass sie sie manuell hinzufügen müssen, javascript:wenn sie sie in die Adressleiste einfügen
Tomas Echeverri Valencia,
0

Seit ich diese Frage gestellt habe, scheint sich das Original von Don't fuck with paste extension von Jacob Swanner erheblich verbessert zu haben, und Aaron Raimist hat es auf Firefox portiert .

In beiden Fällen kann diese Funktion nun auf Standortbasis aktiviert werden. Obwohl das Problem auf dem von mir erwähnten problematischen petplanet- Standort nicht automatisch behoben wird, wird das Problem auf diesem Standort durch manuelles Aktivieren behoben .

Mark Booth
quelle