post

Bloquear funções de inspeção de códigos no site com JS

Publicado em: 19/08/2021

Categorias: blog JavaScript

Neste artigo vou passar alguns códigos em javascript que ajudam a bloquear funções no site que são usadas para inspecionar o código.

Para este exemplo, criamos um arquivo em PHP chamado de conteudo-protegido.php no diretório raiz do nosso site, que neste exemplo se chama endereco-do-seu-site.com.br, para que quando o usuário tente exibir o código, seja direcionado para esta pagina, que você pode criar e personalizar com alguma mensagem e botão de “voltar a pagina”.

1° Bloqueando teclado + mouse

O código abaixo mostra como bloquear as funções de cópia e também o menu do botão direito do mouse.

<script>
function mensagem(text) {
      alert('Conteúdo protegido pela nossa politica de privacidade.');
      return false;
    }

    function bloquearCopia(Event) {
      var Event = Event ? Event : window.event;
      var tecla = (Event.keyCode) ? Event.keyCode : Event.which;
      if (sessionStorage.getItem("ultimaTecla") === "17" && tecla === 85) {
        Event.preventDefault();
        window.location = "https://endereco-do-seu-site.com.br/conteudo-protegido.php";
      }
      sessionStorage.setItem("ultimaTecla", tecla);
    }

$(document).keypress(bloquearCopia);
$(document).keydown(bloquearCopia);
$(document).contextmenu(mensagem);
</script>

2° Bloquear seleção de texto

Com apenas um pequeno trecho de CSS podemos bloquear a seleção dos textos do site nos principais navegadores.

  <style media="screen">
  * {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
  }
  </style>

3° Bloqueando a abertura da DevTools (painel de inspeção de código do navegador)

Esta biblioteca de código ajuda na identificação da Devtools do navegador. O código abaixo identifica se ela foi aberta, ou se já entrou no site aberto, e direciona para a pagina de aviso.

Créditos pela biblioteca do código: https://github.com/sindresorhus/devtools-detect

<script src="https://cdn.jsdelivr.net/gh/brunoalbim/devtools-detect/index.js"></script>
<script>
if (window.devtools.isOpen === true) {
      window.location = "https://endereco-do-seu-site.com.br/conteudo-protegido.php";
    }
  	window.addEventListener('devtoolschange', event => {
      if (event.detail.isOpen === true) {
        window.location = "https://endereco-do-seu-site.com.br/conteudo-protegido.php";
      }
  	});
</script>

Os exemplos acima, ajudam a inibir muitas cópias de conteúdo indevido, principalmente para usuários inexperientes na web, porem, não é uma solução 100%, nenhuma solução da internet vai bloquear 100% a copia de conteúdo ou código dos sites, então use com sabedoria.


Link de compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/pb/1022

ID de Referência: 1022

Sugira uma publicação

Envie uma mensagem para mim, e sugira alguma publicação de algum tema que tenha dificuldades de resolver.

Clique aqui e entre em contato


Comentários