Entrar    
              
    FAQ  •  Busca    
Hoje é Seg Fev 08, 2010 11:19 pm

Todos os Horários estão como UTC - 3 horas









Criar novo tópico Responder Tópico  [ 1 Mensagem ] 
Autor Mensagem
 Assunto do Tópico: JavaScript : Não mostrar "Exibir codigo-fonte"
MensagemEnviado: Sex Fev 16, 2007 12:38 am 
Administrador
Avatar de usuário

Data de registro: Dom Dez 17, 2006 7:06 pm
Mensagens: 340
Localização: RJ
Bem, me perguntam a rodo como é que faz para não exibir o código fonte de uma página. Pois bem, vamos a um script que irá desabilitar o "Exibir Código Fonte" do menu "Exibir" do Internet Explorer e desabilitar o botão direito do mouse.

Vamos ao script :

Código:
<script language="JavaScript">
var specialcase = ((navigator.userAgent.indexOf('Mac') != -1) || document.all)
var flag = 0;
var msg = 'Botão direito desabilitado.\nNão copie.';
var x,y,x1,y1,copyAttempt;

function init()
{
if (!(document.getElementById || document.all || document.layers)) return;
if (specialcase && document.layers)
{
  document.captureEvents(Event.MOUSEMOVE);
  document.onmousemove = special;
}
for (i=0;i<document.images.length;i++)
{
  document.images[i].onmousedown = checkIt;
  document.images[i].onmouseup = function() {return false};
  if (specialcase)
  {
   document.images[i].onmousemove = special;
   document.images[i].onclick = clearIt;
  }
}
}

function checkIt(e)
{
copyAttempt = 0;
if (window.Event)
{
  x = e.screenX;
  y = e.screenY;
  theButt = (e.which == 3);
}
else
{
  x = window.event.clientX;
  y = window.event.clientY;
  theButt = (window.event.button == 2);
}
if (theButt)
{
  copyAttempt = 1;
  flag = 0;
  alert(msg);
  return false; // NN4 only
}
if (specialcase) flag = 1;
return false;
}

function special(e)
{
theObj = '';
if (window.Event)
{
  x1 = e.screenX;
  y1 = e.screenY;
  if (e.target.parentNode) theObj = e.target.parentNode.tagName;
}
else
{
  x1 = window.event.clientX;
  y1 = window.event.clientY;
  theObj = window.event.srcElement.parentElement.tagName;
}
var isLink = (theObj == 'A');
if (flag && (!isLink || ((Math.abs(x-x1) > 10) || (Math.abs(y-y1) > 10))))
{
  copyAttempt = 1;
  flag = 0;
  alert(msg);
  return false;
}
}

function clearIt()
{
flag = 0;
if (copyAttempt)
{
  copyAttempt = 0;
  return false;
}
}

</script>



Com o script feito, basta chama-lo no carregamento da página (falha número1 : se sua página demorar para abrir, é possível - mesmo sendo difícil- que em uma fração de segundos o usuário possa cancelar o carregamento da página e ver o código fonte, pois o corpo do HTML ainda não carregou) :

Código:
<BODY onLoad="init()">



Se a sua intensão é proteger gente de copiar imagens da sua página (outra grande besteira, pois um simples Print Screen destroi seu esquema), o IE6 agora mostra uma simpática barra de ferramentas com algumas opções como salvar ao parar o mouse sobre uma imagem. Para evitar isso você vai precisa de um cabeçalho META (lembre-se : entre as tags <HEAD></HEAD> da sua página) :


Código:
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">


Bem, tudo isso pra mim é uma besteira, pois como disse sempre vai existir alguém que quebre esse sistema. Tudo o que foi feito aqui foi dificultar o acesso, mas não é infalível.
E ainda por cima, não há nada mais irritante do que você estar navegando, ver um link em uma página e não querer fechá-la, então você clica no link com o botão direito para "Abrir link em uma nova janela..." e ...o mouse tá com o botão direito desabilitado... Saco...


Fonte: Lula.PRO

_________________
R Areal
Desenvolvedor Web

Visite: http://www.hospedamos.net/


 Perfil  
Mostrar mensagens anteriores:  Organizar por  
Criar novo tópico Responder Tópico  [ 1 Mensagem ] 

Todos os Horários estão como UTC - 3 horas


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum

Procurar por:
cron




Criado e Hospedado por: Hospedamos.NET