Proteger página web

Como proteger páginas web es una de las preguntas que se hacen la gran mayoría de los desarrolladores, y la respuesta es que nada es 100% seguro, podemos utilizar javascript pero si se desactiva del navegador listo, quedamos vulnerables. Para proteger una página sin utilizar Javascript ni cosas extrañas, el mejor métodos es recordarle al usuario que recuerde citar la fuente o dejarle un mensaje al momento de copiar.

   Entonces tenemos dos opciones, la primera es desactivar el seleccionado de texto con Javascript:
function disableselect(e){
 return false
}
function reEnable(){
 return true
}
document.onselectstart=new Function ("return false")
 if (window.sidebar){
  document.onmousedown=disableselect
  document.onclick=reEnable
}

   Pero como dije antes, si se desactiva quedamos en las mismas aparte de que es un tanto molesto para el usuario, así que... ¿que mejor momento para utilizar jQuery?, la gran ventaja es que no dependemos de que el navegador tenga habilitado o no Javascript, y como me gusta mucho el script sería el siguiente:
$(document).ready(function() {
  $("#copiado").bind('copy', function(e) {
   alert('Algun mensaje al usuario...');
  });
});

//Y el html...

Nuestro Texto


   Recordemos que "#mi_id" se refiere al id que reconocerá el script para ser ejecutado, del resto creo que se entiende bien, ejemplo:

     Copia el texto:

   Pero ¿y si queremos que tambien nos detecte spam?, entonces podemos ampliar un poco el script y hacer que reconozca el cortado y pegado de algún texto, de modo que ahora nuestro script sería el siguiente:
$(document).ready(function() {
  $("#copiado").bind('copy', function(e) {
   alert('Algún mensaje...');
  });
  $("#pegado").bind('paste', function(e) {
   alert('Algún mensaje...');
  });
  $("#cortar").bind('cut', function(e) {
   alert('Algún mensaje...');
  });
 });

   Y el resultado sería el siguiente:
     Pega un texto aquí:
     Corta un texto aquí:

   Esto es si queremos manejar cada evento por separado, pero si preferimos algo mas simple y general podemos utilizar abreviaciones para acortar la sintaxis, de tal forma que el script sería el siguiente:
$(document).ready(function() {
  $("#todos").bind('cut copy paste', function(e) {
    alert('Algún mensaje...');
  });
 });

   Y el resultado sería el siguiente:

   Su función es la misma en ambos casos, solo que si queremos manejar de forma diferente cada una de las operaciones utilizamos el primer script...




   NOTA: al parecer existe una incompatibilidad o mal funcionamiento de las funciones de jQuery bajo Opera, aunque desconosco el porque estoy trabajando en alguna solución...


Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión