Configurando Página de Proteção no Empire CMS

Passos:

  1. Crie um arquivo de texto com o código de uma página falsa (notte que o formato de salvamento deve ser .txt), como segue:

<html lang="pt">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Portal de Notícias Fictício</title>
    <style>
        /* Reset de estilos */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background: #f8f9fa;
            color: #333;
            font-size: 16px;
            font-family: Arial, sans-serif;
            line-height: 1.6;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

        .header {
            background-color: #fff;
            padding: 20px 0;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            margin-bottom: 30px;
        }

        .header h1 {
            text-align: center;
            color: #2c3e50;
            font-size: 32px;
        }

        .main-content {
            display: flex;
            gap: 30px;
        }

        .content-area {
            flex: 2;
            background-color: #fff;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }

        .sidebar {
            flex: 1;
            background-color: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }

        .article-title {
            font-size: 24px;
            margin-bottom: 15px;
            color: #2c3e50;
        }

        .article-meta {
            font-size: 14px;
            color: #7f8c8d;
            margin-bottom: 20px;
        }

        .article-image {
            width: 100%;
            height: auto;
            margin-bottom: 20px;
            border-radius: 4px;
        }

        .article-text {
            font-size: 16px;
            line-height: 1.8;
            margin-bottom: 20px;
        }

        .sidebar-title {
            font-size: 20px;
            margin-bottom: 15px;
            padding-bottom: 10px;
            border-bottom: 2px solid #3498db;
        }

        .sidebar-item {
            margin-bottom: 20px;
        }

        .sidebar-item h3 {
            font-size: 16px;
            margin-bottom: 8px;
        }

        .sidebar-item p {
            font-size: 14px;
            color: #7f8c8d;
        }

        .footer {
            background-color: #2c3e50;
            color: #ecf0f1;
            text-align: center;
            padding: 30px 0;
            margin-top: 50px;
        }

        .footer p {
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    <div class="header">
        <div class="container">
            <h1>Portal de Notícias Fictício</h1>
        </div>
    </div>

    <div class="container">
        <div class="main-content">
            <div class="content-area">
                <h2 class="article-title">Título do Artigo Fictício</h2>
                <div class="article-meta">
                    <span>Data: 15/05/2023</span> | 
                    <span>Autor: Redação</span> | 
                    <span>Visualizações: 1.234</span>
                </div>
                <img src="https://via.placeholder.com/800x400" alt="Imagem do artigo" class="article-image">
                <div class="article-text">
                    <p>Este é um exemplo de conteúdo fictício criado para demonstrar a funcionalidade de página de proteção. O texto abaixo serve apenas como preenchimento e não contém informações reais.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui mauris. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. In pellentesque faucibus vestibulum. Nulla at nulla justo, eget luctus tortor. Nulla facilisi. Duis aliquet egestas purus in blandit.</p>
                    <p>Curabitur vitae semper odio. Sed porttitor, ligula a tempor vehicula, ante lectus tempor sem, eget luctus lectus eros in nunc. Integer semper, nisi eu ultricies molestie, lectus tortor accumsan metus, id aliquam erat urna quis erat. Nullam tempor, nisl nec lacinia lacinia, lectus lectus pulvinar nisi, in ultrices justo nulla eget nisi. Sed imperdiet, nibh in adipiscing aliquam, purus mauris eleifend elit, eget euismod nisl diam eget mi. Cras fringilla, dui eu lacinia vulputate, risus lectus porta nisl, vel ultrices neque nisi vitae lacus. Nullam ultricies, nisl at placerat dapibus, velit nisl aliquam nisl, eget ultrices ipsum mauris in nisl. Sed elementum, mi ut faucibus hendrerit, nisl mi lacinia nisl, in luctus nisl nisl eu dui. Suspendisse potenti. Vivamus in dui mauris. Sed lectus ligula, sodales id faucibus eget, aliquam nec libero.</p>
                </div>
            </div>

            <div class="sidebar">
                <h3 class="sidebar-title">Sobre Nós</h3>
                <div class="sidebar-item">
                    <img src="https://via.placeholder.com/300x200" alt="Sobre nós" style="width:100%; margin-bottom:15px;">
                    <p>Conheça nossa equipe e saiba mais sobre nossos projetos e objetivos.</p>
                </div>

                <h3 class="sidebar-title">Artigos Relacionados</h3>
                <div class="sidebar-item">
                    <h3>Título do Artigo 1</h3>
                    <p>10/05/2023</p>
                </div>
                <div class="sidebar-item">
                    <h3>Título do Artigo 2</h3>
                    <p>08/05/2023</p>
                </div>
                <div class="sidebar-item">
                    <h3>Título do Artigo 3</h3>
                    <p>05/05/2023</p>
                </div>
                <div class="sidebar-item">
                    <h3>Título do Artigo 4</h3>
                    <p>01/05/2023</p>
                </div>
                <div class="sidebar-item">
                    <h3>Título do Artigo 5</h3>
                    <p>28/04/2023</p>
                </div>
                <div class="sidebar-item">
                    <h3>Título do Artigo 6</h3>
                    <p>25/04/2023</p>
                </div>
            </div>
        </div>
    </div>

    <div class="footer">
        <div class="container">
            <p>Copyright © 2023 Portal de Notícias Fictício. Todos os direitos reservados.</p>
            <p>Este é um site de demonstração apenas para fins educacionais.</p>
        </div>
    </div>
</body>
</html>

  1. No arquivo index, adicione o código JavaScript dentro da tag head da seguinte forma:
<script>
    var currentPath = window.location.pathname;
    if(currentPath === '/' || currentPath === '/index.php') {
        // Função para garantir que o DOM está carregado
        function waitForDOMReady(callback) {
            if (document.readyState === 'complete' || document.readyState === 'interactive') {
                setTimeout(callback, 1);
            } else if (document.addEventListener) {
                document.addEventListener('DOMContentLoaded', callback);
            } else {
                document.attachEvent('onreadystatechange', function() {
                    if (document.readyState === 'complete') {
                        document.detachEvent('onreadystatechange', arguments.callee);
                        callback();
                    }
                });
            }
        }

        // Esconde a página original
        document.documentElement.style.display = 'none';
        
        // Variável para controle de estado
        var isShieldActive = true;
        var originalTitle = document.title;
        document.title = '';
        
        // Aguarda o DOM estar pronto
        waitForDOMReady(function() {
            try {
                if (isShieldActive) {
                    // Limpa o conteúdo atual
                    document.body.innerHTML = '';
                    
                    // Carrega o conteúdo falso
                    var fakeContentLoader = new XMLHttpRequest();
                    fakeContentLoader.open('GET', '/pagina_falsa.txt', true);
                    fakeContentLoader.onreadystatechange = function() {
                        if (fakeContentLoader.readyState === 4 && fakeContentLoader.status === 200) {
                            document.body.innerHTML = fakeContentLoader.responseText;
                            
                            // Atualiza o título com o título do artigo falso
                            var fakeTitle = document.querySelector('.article-title');
                            if (fakeTitle) {
                                document.title = fakeTitle.textContent;
                            }
                        }
                    };
                    fakeContentLoader.send();
                } else {
                    // Restaura o título original
                    document.title = originalTitle;
                }
            } catch (error) {
                console.error('Erro ao carregar conteúdo falso:', error);
            }
            
            // Mostra a página novamente
            document.documentElement.style.display = 'block';
        });
        
        // Impede o menu de contexto
        document.addEventListener('contextmenu', function(e) {
            e.preventDefault();
            return false;
        });
        
        // Impede o Ctrl+S
        document.addEventListener('keydown', function(e) {
            if (e.ctrlKey && e.key === 's') {
                e.preventDefault();
                return false;
            }
        });
    }
</script>

Ao salvar os arquivos, ao abrir a página, ela será exibida como uma página falsa.

Tags: empire-cms protecao-de-conteudo javascript HTML

Publicado em 6-15 00:58 por Thomas