• 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>

     

     

    Deja una respuesta