-
Evitar que los usuarios copien contenido de una página de BookStack
Antes que nada, lo primero que hay que hacer es quitar el permiso “Export content” a los roles que no deban exportar, porque de nada serviría que no dejemos copiar el contenido de una página de un libro, pero permitamos exportarla a PDF.
Luego de hacer ese cambio, evitamos los «click derecho y copiar» haciendo lo siguiente:
Vamos a «Configuración» → «Personalización» → «Contenido HTML personalizado del Head» y pegamos este código CSS+Javascript:
<style> .page-content, .entity-list, .book-content, main { -webkit-user-select: none; -moz-user-select: none; user-select: none; } @media print { body { display: none !important; } } </style> <script> document.addEventListener('contextmenu', function(pEvent) { pEvent.preventDefault(); }); document.addEventListener('copy', function(pEvent) { pEvent.preventDefault(); }); document.addEventListener('cut', function(pEvent) { pEvent.preventDefault(); }); document.addEventListener('dragstart', function(pEvent) { pEvent.preventDefault(); }); document.addEventListener('keydown', function(pEvent) { if (pEvent.ctrlKey || pEvent.metaKey) { const vKey = pEvent.key.toLowerCase(); if ( vKey === 'c' || vKey === 'x' || vKey === 's' || vKey === 'p' || vKey === 'u' ) { pEvent.preventDefault(); } } if (pEvent.key === 'F12') { pEvent.preventDefault(); } }); </script>