Загрузка данных


<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Тест защиты контента - Дилан</title>
    <style>
        /* Базовые стили страницы */
        body {
            font-family: 'Helvetica Neue', Arial, sans-serif;
            padding: 40px;
            line-height: 1.6;
            color: #333;
            max-width: 800px;
            margin: 0 auto;
            
            /* ЗАЩИТА 1: Запрет выделения текста на уровне CSS */
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .warning-box {
            background-color: #fff3cd;
            border: 1px solid #ffeeba;
            color: #856404;
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 30px;
        }

        .protected-image {
            max-width: 100%;
            height: auto;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            margin: 20px 0;
            
            /* ЗАЩИТА 2: Дополнительный запрет взаимодействия с изображением */
            pointer-events: none; 
        }

        /* Анимация для уведомлений */
        @keyframes slideIn {
            from { transform: translateX(100%); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
    </style>
</head>
<body>

    <div class="warning-box">
        <strong>⚠️ Внимание!</strong> Эта страница демонстрирует методы защиты контента. Попробуйте выделить текст, нажать правую кнопку мыши, перетащить картинку или использовать Ctrl+C / Ctrl+U.
    </div>

    <h1>Уникальный авторский контент</h1>
    <p>Это тестовый абзац с уникальным текстом, который мы пытаемся защитить от несанкционированного копирования. Попробуйте выделить этот текст мышкой или скопировать его через Ctrl+C. У вас ничего не получится!</p>
    
    <!-- ЗАЩИТА 3: Атрибут draggable="false" запрещает перетаскивание -->
    <img src="https://www.terem-pro.ru/upload/iblock/5c2/5c28a96205d8843c11ece789d5f50c9e.jpg" 
         alt="Дом Теремъ" 
         class="protected-image" 
         draggable="false">
    
    <p><em>Попробуйте перетащить это изображение на рабочий стол или сохранить его через правый клик.</em></p>

    <script>
        // ЗАЩИТА 4: Блокировка правого клика (контекстного меню)
        document.addEventListener('contextmenu', function(e) {
            e.preventDefault();
            showNotification('Правый клик и контекстное меню заблокированы!');
        });

        // ЗАЩИТА 5: Блокировка горячих клавиш (Ctrl+C, Ctrl+U, Ctrl+A, F12)
        document.addEventListener('keydown', function(e) {
            // Блокируем Ctrl+C, Ctrl+U, Ctrl+A, Ctrl+S
            if (e.ctrlKey && (e.key === 'c' || e.key === 'u' || e.key === 'a' || e.key === 's')) {
                e.preventDefault();
                showNotification('Копирование и просмотр кода заблокированы!');
            }
            // Блокируем F12 и Ctrl+Shift+I (инструменты разработчика)
            if (e.key === 'F12' || (e.ctrlKey && e.shiftKey && e.key === 'I')) {
                e.preventDefault();
                showNotification('Инструменты разработчика заблокированы!');
            }
        });

        // ЗАЩИТА 6: Дополнительная программная блокировка перетаскивания (на случай, если атрибут проигнорирован)
        document.querySelectorAll('img').forEach(function(img) {
            img.addEventListener('dragstart', function(e) {
                e.preventDefault();
            });
        });

        // Функция для показа красивого ненавязчивого уведомления (вместо раздражающего alert)
        function showNotification(message) {
            // Удаляем предыдущие уведомления, чтобы они не наслаивались
            const existing = document.querySelector('.protection-toast');
            if (existing) existing.remove();

            const notif = document.createElement('div');
            notif.className = 'protection-toast';
            notif.textContent = message;
            notif.style.cssText = `
                position: fixed;
                bottom: 30px;
                right: 30px;
                background-color: #dc3545;
                color: white;
                padding: 14px 24px;
                border-radius: 8px;
                font-size: 15px;
                font-weight: 500;
                box-shadow: 0 8px 16px rgba(0,0,0,0.2);
                z-index: 10000;
                animation: slideIn 0.3s ease;
            `;
            document.body.appendChild(notif);
            
            // Автоматическое скрытие через 2.5 секунды
            setTimeout(() => {
                notif.style.opacity = '0';
                notif.style.transition = 'opacity 0.3s ease';
                setTimeout(() => notif.remove(), 300);
            }, 2500);
        }
    </script>
</body>
</html>