2016-08-09 115 views
1

Ich habe folgenden Code verwendet, kopieren und einfügenDeaktivieren Kopieren und Einfügen

onpaste="return false;" oncut="return false;" oncontextmenu="return false;" oncopy="return false;". 

Das funktioniert alles in Ordnung zu deaktivieren. Ich habe die "easy-copy" -Erweiterung in Google Chrome installiert und kann trotzdem einfügen. Gibt es eine Möglichkeit, das Kopieren und Einfügen von Erweiterungen zu deaktivieren?

Ich habe versucht, alle Ereignisse zu erfassen, um zu sehen, was sogar diese Erweiterung feuern Paste, aber es feuert keine sogar zum Einfügen.

Für die Ereigniserfassung, verwenden folgenden I-Code in Chromkonsole:

monitorEvents($0) 

Kurz gesagt, wie Kopieren und Einfügen von Browser-Erweiterung deaktivieren? Warum brauche ich das? Ich habe eine Chat-Anwendung und einige Leute kopieren Paste in Spam.

+3

"Ich habe eine Chat-Anwendung und einige Leute kopieren Paste in Spam." Aber was, wenn eine gute Person etwas kopieren oder einfügen möchte? Könnten Sie den Spam-Angriff anders abschwächen (serverseitig blockieren mehrere Anrufe usw.) –

+0

Wir haben alle anderen Methoden implementiert. Wie Ban ip, nur 3 Nachrichten/Zeitlimit, schlechte Wörter filtern, nicht die gleiche Nachricht usw. wiederholen. Jedoch, wenn es 3-4 Spammer gibt, können sie immer noch alles durch die Zusammenarbeit passieren;). Für andere gute Benutzer haben wir ihnen nie eine Kopier-/Kopieroption angeboten und sie haben sich nie beschwert. – user3404047

+1

Wie Sie im Quelltext dieser Erweiterung sehen können, wird direkt auf das DOM der Seite zugegriffen. Um zu verhindern, dass Sie die gesamte Benutzeroberfläche Ihrer App mithilfe der Canvas-API zeichnen können, wird nur ein Bild im DOM angezeigt. – wOxxOm

Antwort

1

Kurz gesagt, wie zum Kopieren Einfügen von Browser-Erweiterung zu deaktivieren?

Ich glaube nicht, dass dies von der Seite Javascript möglich ist, da Erweiterungen auf einer höheren Vertrauensstufe als die Webseite ausgeführt werden. Sie können Dinge tun, die Webseiten nicht können, wie zum Beispiel das Verhalten des Browsers ändern.

Meiner Meinung nach ist der beste Weg, dies zu handhaben, Server-Seite. Geben Sie jedem Post eine Spam-Punktzahl, die durch relevante Faktoren wie die Häufigkeit der Posts desselben Benutzers, doppelten Inhalt in Beiträgen, nur externe Links, Downvotes anderer Nutzer bestimmt wird. Wenn ein Beitrag ein Spam-Limit überschreitet, zeigen Sie ihn nicht an an andere Benutzer. Sie können es trotzdem dem Poster selbst zeigen, wenn Sie es für Spammer schwerer machen wollen festzustellen, ob ihr Spam tatsächlich ankommt.

Deaktivieren Copy-Paste für alle Benutzer scheint mir schwere Hand.

+0

Scheint gültig. Haben Sie eine Quelle für diesen Anspruch? – Pavlo

+0

@ Pavlo Gesunder Menschenverstand meiner Meinung nach. Kann eine Webseite Skripte von allen Domains blockieren? Eine Erweiterung kann das tun. Kann eine Webseite die Sicherheitseinstellungen Ihres Browsers ändern? Eine Erweiterung kann. Oder überprüfen Sie den gesamten https-Verkehr von allen Seiten. Oder sehen und speichern Sie alle eingegebenen Passwörter .... Nicht sicher, warum jemand daran zweifeln würde, dass Erweiterungen auf einem höheren Vertrauensniveau laufen. – BeetleJuice

+0

Wie erkennen einige Websites dann "Ad-Blocker" Erweiterungen und Pop-ups zu deaktivieren oder sie werden nicht dienen. Können wir das nicht auch für Copy-Paste-Erweiterungen tun, um Benutzer zu erkennen und zu alarmieren? – user3404047

0

Hmm nur ein paar allgemeine Gedanken hier. Der Versuch, diese Art von Operationen zu blockieren, wird niemals vollständig funktionieren, da sich Browser unterschiedlich verhalten und letztlich das Verhalten umgangen werden kann, egal was Sie tun.

Aber um es peinlicher zu machen, warum beschränken Sie nicht nur, wie oft sie den Submit-Button in einem bestimmten Zeitraum drücken können. Oder begrenzen Sie die maximale Textgröße des Textfelds. Besser noch als nach vorherigem Kommentar auf dem Server, es wird Ihnen die Sicherheit geben, dass keine clientseitige Validierung wird. Jede clientseitige Validierung kann nur Versuche verhindern, aber nicht wirklich verhindern.

Eigentlich eine andere Sache, die Sie tun können, ist eine abfangende Javascript-Funktion, die auf wiederholten Text prüfen wird.

+0

Danke für Ihre Antwort. Bitte werfen Sie einen Blick auf meinen Kommentar als Antwort auf Rap-2-h-Kommentar in der Frage. – user3404047

+0

Ich sehe nicht, wie das Verhindern von Kopieren und Einfügen mehrere Personen stoppen wird.Sie sollten auch in der Lage sein zu verhindern, dass mehrere Personen die Server-Seite spammen, da die Nachricht die gleiche ist. Sie sehen sich die vorherigen Nachrichten an, bevor Sie sie hinzufügen, unabhängig davon, wer sie gesendet hat. – Anubis

+0

Das Hinzufügen eines Leerzeichens oder Kommas nach dem Einfügen unterscheidet sich von der vorherigen Nachricht. Oder irgendeine andere Ergänzung zur vorherigen Nachricht. – user3404047