// INICIO DO BANIMENTO
// Lista de IPs bloqueados
var blockedIPs = ['2000.3000.4000.5000', '1000.2000.3000.4000']; // Adicione mais IPs à lista, separados por vírgula
// Função para verificar o IP do visitante
function checkIP() {
var request = new XMLHttpRequest();
request.open('GET', 'https://ipinfo.io/json', true); // API externa para obter o IP
request.onload = function() {
if (request.status == 200) {
var data = JSON.parse(request.responseText); // Processa a resposta da API
var userIP = data.ip; // Obtém o IP do visitante
// Verifica se o IP está na lista de bloqueados
if (blockedIPs.includes(userIP)) {
document.body.innerHTML = '
Verifique se você está autorizado a ver este conteúdo, entre em contato conosco.
'; // Exibe mensagem de bloqueio
}
} else {
console.error('Não foi possível obter o IP do visitante');
}
};
request.onerror = function() {
console.error('Erro ao tentar acessar a API');
};
request.send();
}
// Chama a função para verificar o IP
checkIP();
// INICIO DA PROTEÇÃO CONTRA CÓPIA
// Comentado por questões de segurança. Quando descomentado, ele impede ações de cópia ou impressão.
// Impedir botão direito do mouse
document.addEventListener('contextmenu', function(e) {
e.preventDefault(); // Impede o menu de contexto
});
// Impedir seleção de texto
document.body.addEventListener('selectstart', function(e) {
e.preventDefault(); // Impede a seleção de texto
});
// Impedir impressão via CTRL+P ou PrintScreen
document.addEventListener('keydown', function(e) {
if ((e.ctrlKey && (e.key == 'p' || e.key == 'P')) || e.key == 'PrintScreen') {
e.preventDefault(); // Impede a impressão com esses atalhos
}
});
// Impedir atalhos como Ctrl+S, Ctrl+C, Ctrl+X, Ctrl+V
document.addEventListener('keydown', function(e) {
if (e.ctrlKey && (e.key == 's' || e.key == 'S' || e.key == 'c' || e.key == 'C' || e.key == 'x' || e.key == 'X' || e.key == 'v' || e.key == 'V')) {
e.preventDefault(); // Impede os atalhos de copiar, salvar ou colar
}
});
// Impedir a combinação Ctrl + U (visualização do código-fonte)
document.addEventListener('keydown', function(e) {
if (e.ctrlKey && e.key == 'u') {
e.preventDefault(); // Impede a visualização do código-fonte
}
});
// Impedir a combinação Ctrl + O (abrir arquivo)
document.addEventListener('keydown', function(e) {
if (e.ctrlKey && e.key == 'o') {
e.preventDefault(); // Impede o uso do atalho de abrir arquivos
}
});
// Quando o usuário tenta imprimir, ocultar o conteúdo da página
window.onbeforeprint = function() {
document.body.style.visibility = 'hidden'; // Oculta o conteúdo antes de imprimir
};
// Quando a impressão termina, mostrar novamente o conteúdo da página
window.onafterprint = function() {
document.body.style.visibility = 'visible'; // Restaura a visibilidade após a impressão
};
// FIM DA PROTEÇÃO CONTRA CÓPIA
// INICIO PROTEÇÃO CONTRA DIRETÓRIOS INDEVIDOS
// Quando a página for carregada, verifica a URL para impedir o acesso a diretórios não permitidos
document.addEventListener("DOMContentLoaded", function () {
const currentPath = window.location.pathname; // Obtém o caminho da URL atual
const mainElement = document.querySelector('main#main.centered-bottom');
// Verifica se a URL corresponde ao formato de uma página de postagem
const isPostPage = currentPath.match(/\/\d{4}\/\d{2}\/[a-z0-9-]+\.html$/);
// Se não for uma página de postagem, esconder o conteúdo
if (mainElement && !isPostPage) {
mainElement.style.display = "none"; // Esconde o conteúdo da página
}
});
// Fim da proteção contra diretórios indevidos
// Outra forma de bloquear o conteúdo para diretórios indevidos (redireciona para página em branco)
document.addEventListener("DOMContentLoaded", function () {
const currentPath = window.location.pathname; // Obtém o caminho da URL
const isPostPage = currentPath.match(/\/\d{4}\/\d{2}\/[a-z0-9-]+\.html$/); // Verifica se é uma página de postagem
// Se não for uma página de postagem, redireciona para uma página em branco
if (!isPostPage) {
document.body.innerHTML = ""; // Limpa todo o conteúdo da página
}
});
// Fim da proteção contra diretórios indevidos