Stop-Benutzer verwenden „Print Screen“ / „Print Screen“ -Taste der Tastatur für jede Web-Seite

StackOverflow https://stackoverflow.com/questions/3130983

Frage

Ich bin derzeit ein Projekt zu tun, in denen ich brauche nicht daran, den Schnappschuss von einer beliebigen Web-Seite der Benutzer zu stoppen, für die er die „Print Scrn“ können / „Print Screen“ -Taste in einen der normalen Tastaturen.

Ich habe versucht, seine Lösung zu finden, aber vergeblich. Wenn möglich, ich brauche Berücksichtigung des „ Screen “ Add-on des Firefox-Browsers zu übernehmen, indem sie es auch zu stoppen.

Jede Hilfe ist sehr geschätzt, und ich bin mit PHP (als serverseitige Sprache) und jQuery für mein Projekt.

War es hilfreich?

Lösung

Sie können nicht deaktivieren Bildschirm aus dem Web-Browser greifen, wäre es nur möglich sein, durch die Installation zusätzlicher Software auf dem PC des Benutzers.

Es gibt einige IRM (Information Rights Management) Tools zur Verfügung, die das tun z.B. Fenster / DirectX-API-Aufrufe durch den Schutz und auch Videospeicher Überwachung wie Oracle IRM oder wie Microsofts IRM-Technologie .

Gerade letztere könnte von Interesse sein, da gibt es auch ein Rights Management Add-on für Internet Explorer .

Aber wie andere schon gesagt, jeder IRM / DRM Technologie ist umstritten, und Sie sollten verstehen, dass es am häufigsten werden begrenzen oder Belästigen Sie Ihre Benutzer.

Andere Tipps

Ich hasse den „es ist nicht möglich“ Satz. Sind hier alle Lösungen kombiniert, um Ihnen zu helfen:

1- Sie können die Lösung von Haluk greifen:

<script type="text/javascript"> $(document).ready(function() {
    $(window).keyup(function(e){
      if(e.keyCode == 44){
        $("body").hide();
      }

    }); }); 
</script>

JEDOCH verstecken Sie Körper, sondern ist bereits „gedruckt“ in die Zwischenablage. Sie können ein anderes Ereignis ausgelöst, die einen Text in die Zwischenablage zu kopieren, wie Sie auf diese Antwort „Edit ab 2016“ Klicken sie die Schaltfläche kopieren in die Zwischenablage mit jQuery , es ist so etwas wie folgt aus:

function copyToClipboard() {
  // Create a "hidden" input
  var aux = document.createElement("input");
  // Assign it the value of the specified element
  aux.setAttribute("value", "Você não pode mais dar printscreen. Isto faz parte da nova medida de segurança do sistema.");
  // Append it to the body
  document.body.appendChild(aux);
  // Highlight its content
  aux.select();
  // Copy the highlighted text
  document.execCommand("copy");
  // Remove it from the body
  document.body.removeChild(aux);
  alert("Print screen desabilitado.");
}

$(window).keyup(function(e){
  if(e.keyCode == 44){
    copyToClipboard();
  }
}); 

Dies wird einen Teil des Problems blockieren. Wenn Benutzer den Fokus auf ein anderes Objekt außerhalb dieser Fenster wird er in der Lage sein, Screenshots zu nehmen. ** Aber es gibt eine andere Lösung zu, dass auch einfach deaktivieren Sie den ganzen Körper, wenn das Fenster gets unkonzentriert. Komplettlösung, von Ihrem lieben brazillian Freund:

function copyToClipboard() {
  // Create a "hidden" input
  var aux = document.createElement("input");
  // Assign it the value of the specified element
  aux.setAttribute("value", "Você não pode mais dar printscreen. Isto faz parte da nova medida de segurança do sistema.");
  // Append it to the body
  document.body.appendChild(aux);
  // Highlight its content
  aux.select();
  // Copy the highlighted text
  document.execCommand("copy");
  // Remove it from the body
  document.body.removeChild(aux);
  alert("Print screen desabilitado.");
}

$(window).keyup(function(e){
  if(e.keyCode == 44){
    copyToClipboard();
  }
}); 

$(window).focus(function() {
  $("body").show();
}).blur(function() {
  $("body").hide();
});

Hier ist das Beispiel Arbeits:

 Hier versuche ich, um das Fenster zu unfocus, auf unfocus i Inhalt verstecken und zeigt modal

Dies ist nicht möglich.

Zum Glück, diese unverschämte Idee nicht möglich ist, zuverlässig zu implementieren, weder der „disable Bildschirm greifen“ Teil noch den „disable Benutzers Firefox-Erweiterungen“ ein. Und selbst wenn es, wie @kbok weist in seinem Kommentar über, Sie haben nicht ein rechts , dies zu tun.

Der einzige Weg, um Ihre Inhalte online zu schützen, ist das Urheberrecht - diejenigen zu erwähnen, zu schrecken die Menschen oft genug weg, um ihn von mißbrauchen! -. Oder es gar nicht zeigen

Versuchen Sie diese

$(document).keyup(function(e){
  if(e.keyCode == 44) return false;
});

Hope es funktioniert

Sie können den Inhalt der Zwischenablage ändern JavaScript oder Flash verwenden. Das hilft schon ein wenig.

Wie @Sjoerd sagte, ist dies nicht möglich.

Wenn es Bilder, die Sie schützen wollen, empfehle ich Ihnen zum Beispiel Anzeige minderer Qualität Bilder, die statt mit Wasserzeichen versehen werden und zeigt nur die nicht hohe Qualität sind mit Wasserzeichen versehen, wenn angemessen.

Aber ja ... Wenn Sie wollen, dass sie unmöglich sein, zu kopieren ... sie nicht online gestellt.

Sie können in die Zwischenablage kopieren etwas anderes, wenn Benutzer klicken Taste Print Screen. Dies ist Beispiel und ich kopiere Benutzertext.

<p id="test">test</p>

function copyToClipboard(elementId) {

  // Create a "hidden" input
  var aux = document.createElement("input");

  // Assign it the value of the specified element
  aux.setAttribute("value", document.getElementById(elementId).innerHTML);

  // Append it to the body
  document.body.appendChild(aux);

  // Highlight its content
  aux.select();

  // Copy the highlighted text
  document.execCommand("copy");

  // Remove it from the body
  document.body.removeChild(aux);

}
$(document).ready(function(){
    $(window).keyup(function(e){
      if(e.keyCode == 44){
        copyToClipboard('test');
      };
    });
});

Es gibt keine direkte Methode ist, das zu tun, aber es gibt einen Weg, um Ihre Inhalte so weit wie möglich von prnt scrn zu schützen.

Die Idee ist folgende:

  1. machen Ihre Inhalte nicht zugänglich, wenn Java deaktiviert ist, und verwenden Sie ein Skript wie Künstler Scope Kopierschutzes.

  2. Detecting prnt scrn wird eine Nachricht an den Administrator mit den registrierten Benutzer Informationen senden, bedeutet dies, dass eingeschränkte Inhalte, die nur von Mitgliedern zugänglich ist, kann davon profitieren. Senden IP Adressen klingt wie eine gute Idee, aber IPs Verbot nicht der Fall, so dass Sie nicht viel Nutzen davon profitieren werden.

  3. Sobald außerhalb Ihrer Website Fenster, Ihre Inhalte mit einem Overlay abgedeckt werden, die nicht entfernt werden können, wenn Sie zurück auf Ihre Website und aktivieren Sie es, das wird wieder aktivieren die prnt scrn Erkennungscode in der genannten vorheriger Punkt.

  4. Wenn das Gerät ist ein mobiles, Sie können entweder verbergen Bilder, oder wie in meinem Fall, Umleitung auf einen „Es tut uns leid“ Seite.

  5. Snipping Tool und andere ähnliche Browser-Erweiterungen und Add-ons wird nutzlos sein. außer ein Werkzeug, dass ich genannt Voll Seite Screen-Capture gefunden

    • Dieses Tool erfasst Webinhalte nach ca. 3 Sekunden vom Drücken der Taste, die genug Zeit, um die Überlagerung zu entlassen und auf Ihre Inhalte zurück
    • eine gute Turnaround ist, einen Zähler zu starten, wenn „entlassen Overlay“ wird, dass angeklickt werden müssen 5 Sekunden oder mehr, das heißt. nachdem diese Erweiterung eines bereits stattgefunden hat Snapshot
  6. Es gibt auch eine indirekte Methode Video-Capture zu verhindern, noch daran zu arbeiten, wird es hier posten oder in meinem Blog.

  7. Wenn Ihr Inhalt ist wirklich so viel wert, Benutzer noch erfassen könnte es ihre Kameras verwenden, könnte es ein Verfahren für das auch sein! Aber ich Sill müssen einige der Forschung vor, darüber zu reden.

Ich werde die Aktualisierung diesen Beitrag in meinem Blog für andere Techniken, die ich verwendet habe, / für mehr Schutz. Bitte überprüfen Sie dieses Quiz (noch in der Entwicklung) für eine Demo.

Warum wollen Sie das Druckbild vermeiden möchten?

Wenn es ein paar Fotos ist das Sie schützen möchten, könnten Sie es möchten in niedriger Auflösung setzen, und beinhalten eine Art von Copyright-Logo programmatisch in PHP.

Ich denke, das ist ziemlich viel es.

Hier ist eine andere Lösung:

<script type="text/javascript"> $(document).ready(function() {
    $(window).keyup(function(e){
      if(e.keyCode == 44){
        $("body").hide();
      }

    }); }); </script>

Dies ist ähnlich @ ZX12R-Lösung. Der Vorteil ist, dieser Code funktioniert sogar, wenn der Bildschirm Druckfang Software ein 3rd-Party-Tool (zB Snagit) ist.

Sie können $("body").hide(); mit etwas ersetzen, das Sie besser gerecht wird. Zum Beispiel können Sie alle Bilder, $("img").hide(); verstecken und vielleicht zeigen sie eine Sekunde später zurück.

Der Nachteil ist, es wird nicht funktionieren, wenn die Webseite nicht das aktive Fenster ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top