abril 2008
D S T Q Q S S
    mai »
 12345
6789101112
13141516171819
20212223242526
27282930  

Removendo frames automaticamente

Existem diversos sites famosos com serviços que adicionam um frame superior (contendo propaganda, links, etc…) e a sua página abaixo, no espaço restante.

Também pode acontecer de um site malicioso que acesse as informações de sua página através de javascript, fazendo com que um script escondido em um frame de 0 pixels acesse o conteúdo de um formulário, por exemplo, enviando o usuário e senha do seu site para o site atacante, ou simplesmente coletando informações sobre o uso do seu site (semelhante a um spybot).

Para evitar estes problemas, podemos utilizar um script bem simples em JavaScript, que pode ser adicionado ao cabeçalho da página. Aconselho a sua utilização antes de quaisquer comando de carga de folhas de estilo ou outros scripts, pois ele é executado assim que recebido pelo navegador, evitando a carga desnecessária do restante do conteúdo.

Abaixo, segue o script comentado e compatível com quase todos os navegadores existentes hoje em dia:

// Verificamos se o frame superior é diferente do atual:
if ( self != top)
{
  // Verificamos se o navegador suporta a função replace(), e trocamos
  // o endereço da página superior para o endereço deste frame:
  if ( document.images)
  {
    top.location.replace ( window.location.href);
  } else {
    top.location.href = window.location.href;
  }
}

Você pode ver este script em ação nesta mesma página, acessando ela pelo redirecionador http://diskfull.blogsite.org/ do serviço DynDNS.

1 comentário para Removendo frames automaticamente

  • Laércio

    ótimo isso foi muito bom para mim que estava com um banner chato incomodando e não tinha encontrado outra solução, embora ele carregue inicialmente logo vai embora na sequencia parabens valeu ai

Envie uma resposta

 

 

 

Você pode utilizar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>