T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/soundstudiopro.com/private_html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/private_html/security.php
<?php
/**
 * Security Documentation Page
 * Private page explaining our MP3 protection measures
 * Requires authentication to view
 */

require_once 'config/database.php';
require_once 'includes/translations.php';
session_start();

$user_id = $_SESSION['user_id'] ?? null;

// Require authentication to view security documentation
if (!$user_id) {
    header('Location: /auth/login.php?redirect=' . urlencode('/security.php'));
    exit;
}

// Get user info
$pdo = getDBConnection();
$stmt = $pdo->prepare("SELECT name, plan FROM users WHERE id = ?");
$stmt->execute([$user_id]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);

$currentLang = getCurrentLanguage();
$pageTitle = $currentLang === 'fr' ? 'Protocoles de sécurité et de protection' : 'Security & Protection Protocols';

// Set page title for header.php
$page_title = $pageTitle . ' - Sound Studio Pro';

// Custom styles for security page
$page_custom_styles = '
        body {
            padding-top: 80px;
            min-height: 100vh;
        }
        
        .security-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: var(--space-xl) var(--space-md);
        }
        
        .security-header {
            text-align: center;
            margin-bottom: var(--space-2xl);
            padding: var(--space-2xl);
            background: var(--gradient-primary);
            border-radius: var(--radius-lg);
            color: var(--text-primary);
            box-shadow: var(--shadow-heavy);
            position: relative;
            overflow: hidden;
        }
        
        .security-header::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            animation: pulse 4s ease-in-out infinite;
        }
        
        @keyframes pulse {
            0%, 100% { transform: scale(1); opacity: 0.5; }
            50% { transform: scale(1.1); opacity: 0.8; }
        }
        
        .security-header h1 {
            margin: 0 0 var(--space-md) 0;
            font-size: clamp(2rem, 5vw, 3rem);
            font-weight: 800;
            position: relative;
            z-index: 1;
        }
        
        .security-header p {
            font-size: clamp(1rem, 2vw, 1.25rem);
            opacity: 0.95;
            margin: 0;
            position: relative;
            z-index: 1;
        }
        
        .security-section {
            background: var(--bg-card);
            backdrop-filter: blur(10px);
            border: 1px solid var(--border-light);
            border-radius: var(--radius-md);
            padding: var(--space-xl);
            margin-bottom: var(--space-lg);
            box-shadow: var(--shadow-medium);
            transition: var(--transition-normal);
        }
        
        .security-section:hover {
            border-color: var(--border-accent);
            box-shadow: var(--shadow-glow);
        }
        
        .security-section h2 {
            color: var(--primary);
            margin-top: 0;
            margin-bottom: var(--space-md);
            font-size: clamp(1.5rem, 3vw, 2rem);
            display: flex;
            align-items: center;
            gap: var(--space-sm);
        }
        
        .security-section h3 {
            color: var(--secondary);
            margin-top: var(--space-lg);
            margin-bottom: var(--space-sm);
            font-size: clamp(1.2rem, 2.5vw, 1.5rem);
        }
        
        .security-icon {
            font-size: 1.8rem;
            filter: drop-shadow(0 0 10px rgba(102, 126, 234, 0.5));
        }
        
        .protection-layer {
            background: var(--bg-secondary);
            border-left: 4px solid var(--primary);
            padding: var(--space-lg);
            margin: var(--space-md) 0;
            border-radius: var(--radius-sm);
            box-shadow: var(--shadow-light);
        }
        
        .protection-layer h4 {
            color: var(--primary);
            margin-top: 0;
            margin-bottom: var(--space-sm);
            font-size: 1.2rem;
        }
        
        .protection-layer ul {
            margin: var(--space-sm) 0;
            padding-left: var(--space-lg);
            list-style: none;
        }
        
        .protection-layer ul li {
            margin: var(--space-sm) 0;
            line-height: 1.8;
            color: var(--text-secondary);
            position: relative;
            padding-left: var(--space-md);
        }
        
        .protection-layer ul li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: var(--primary);
            font-weight: bold;
        }
        
        .protection-layer ul li strong {
            color: var(--text-primary);
        }
        
        .info-box {
            background: rgba(79, 172, 254, 0.1);
            border-left: 4px solid var(--accent);
            padding: var(--space-lg);
            margin: var(--space-md) 0;
            border-radius: var(--radius-sm);
            box-shadow: var(--shadow-light);
        }
        
        .info-box strong {
            color: var(--accent);
        }
        
        .comparison-table {
            width: 100%;
            border-collapse: collapse;
            margin: var(--space-md) 0;
            background: var(--bg-secondary);
            border-radius: var(--radius-sm);
            overflow: hidden;
            box-shadow: var(--shadow-light);
        }
        
        .comparison-table th,
        .comparison-table td {
            padding: var(--space-md);
            text-align: left;
            border-bottom: 1px solid var(--border-light);
        }
        
        .comparison-table th {
            background: var(--gradient-primary);
            color: var(--text-primary);
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }
        
        .comparison-table td {
            color: var(--text-secondary);
        }
        
        .comparison-table tr:last-child td {
            border-bottom: none;
        }
        
        .comparison-table tr:hover {
            background: var(--bg-tertiary);
        }
        
        .checkmark {
            color: #10b981;
            font-weight: bold;
            font-size: 1.2rem;
        }
        
        .xmark {
            color: #ef4444;
            font-weight: bold;
            font-size: 1.2rem;
        }
        
        .security-section ol {
            margin: var(--space-md) 0;
            padding-left: var(--space-xl);
            color: var(--text-secondary);
        }
        
        .security-section ol li {
            margin: var(--space-sm) 0;
            line-height: 1.8;
        }
        
        .security-section p {
            color: var(--text-secondary);
            line-height: 1.8;
        }
        
        .security-footer {
            text-align: center;
            background: var(--gradient-primary);
            color: var(--text-primary);
            margin-top: var(--space-2xl);
            padding: var(--space-2xl);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-heavy);
        }
        
        .security-footer h2 {
            color: var(--text-primary);
            margin-bottom: var(--space-md);
        }
        
        .security-footer p {
            color: var(--text-primary);
            opacity: 0.95;
        }
        
        @media (max-width: 768px) {
            .security-container {
                padding: var(--space-md);
            }
            
            .security-section {
                padding: var(--space-md);
            }
            
            .comparison-table {
                font-size: 0.85rem;
            }
            
            .comparison-table th,
            .comparison-table td {
                padding: var(--space-sm);
            }
        }
';

// Include header (which outputs DOCTYPE, html, head, and opens body)
include 'includes/header.php';
?>
    
    <div class="security-container">
        <div class="security-header">
            <h1>🔒 <?= $currentLang === 'fr' ? 'Protocoles de sécurité et de protection' : 'Security & Protection Protocols' ?></h1>
            <p><?= $currentLang === 'fr' ? 'Protection complète contre l\'accès non autorisé et le vol de musique' : 'Comprehensive protection against unauthorized access and music theft' ?></p>
        </div>

        <!-- Overview Section -->
        <div class="security-section">
            <h2><span class="security-icon">🛡️</span> <?= $currentLang === 'fr' ? 'Système de protection multicouche' : 'Multi-Layer Protection System' ?></h2>
            <p><?= $currentLang === 'fr' ? 'Votre musique est protégée par un système de sécurité sophistiqué multicouche qui empêche l\'accès non autorisé, le partage et le téléchargement. Nos mesures de sécurité fonctionnent ensemble pour garantir que seuls les utilisateurs autorisés peuvent accéder à vos pistes via des canaux légitimes.' : 'Your music is protected by a sophisticated multi-layer security system that prevents unauthorized access, sharing, and downloading. Our security measures work together to ensure that only authorized users can access your tracks through legitimate channels.' ?></p>
            
            <div class="info-box">
                <strong><?= $currentLang === 'fr' ? '🔐 Documentation privée :' : '🔐 Private Documentation:' ?></strong> <?= $currentLang === 'fr' ? 'Cette page n\'est accessible qu\'aux utilisateurs authentifiés. Toutes les mesures de sécurité décrites ici protègent activement vos fichiers musicaux.' : 'This page is only accessible to authenticated users. All security measures described here are actively protecting your music files.' ?>
            </div>
        </div>

        <!-- Layer 1: Token-Based Authentication -->
        <div class="security-section">
            <h2><span class="security-icon">🔑</span> <?= $currentLang === 'fr' ? 'Couche 1 : Authentification par jeton signé' : 'Layer 1: Signed Token Authentication' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Signature cryptographique' : 'Cryptographic Signing' ?></h4>
                <p><?= $currentLang === 'fr' ? 'Chaque URL audio est protégée par un jeton signé cryptographiquement qui inclut :' : 'Every audio URL is protected by a cryptographically signed token that includes:' ?></p>
                <ul>
                    <li><strong><?= $currentLang === 'fr' ? 'ID de piste :' : 'Track ID:' ?></strong> <?= $currentLang === 'fr' ? 'Le jeton est lié à une piste spécifique - ne peut pas être utilisé pour d\'autres pistes' : 'Token is bound to a specific track - cannot be used for other tracks' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Temps d\'expiration :' : 'Expiration Time:' ?></strong> <?= $currentLang === 'fr' ? 'Les jetons expirent après 5 minutes pour limiter la fenêtre d\'opportunité' : 'Tokens expire after 5 minutes to limit the window of opportunity' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Contexte utilisateur :' : 'User Context:' ?></strong> <?= $currentLang === 'fr' ? 'Le jeton est lié à un utilisateur et une session spécifiques' : 'Token is bound to specific user and session' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Signature infalsifiable :' : 'Unforgeable Signature:' ?></strong> <?= $currentLang === 'fr' ? 'Tous les composants sont hachés ensemble pour créer une signature sécurisée' : 'All components are hashed together to create a secure signature' ?></li>
                </ul>
            </div>

            <div class="info-box">
                <strong>✅ <?= $currentLang === 'fr' ? 'Protection :' : 'Protection:' ?></strong> <?= $currentLang === 'fr' ? 'Empêche la falsification d\'URL, la falsification de jeton et l\'accès inter-pistes. Même si quelqu\'un intercepte un jeton, il ne peut pas le modifier ou l\'utiliser pour d\'autres pistes.' : 'Prevents URL tampering, token forgery, and cross-track access. Even if someone intercepts a token, they cannot modify it or use it for other tracks.' ?>
            </div>
        </div>

        <!-- Layer 2: Session Binding -->
        <div class="security-section">
            <h2><span class="security-icon">🔗</span> <?= $currentLang === 'fr' ? 'Couche 2 : Liaison session et utilisateur' : 'Layer 2: Session & User Binding' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Liaison utilisateur-session' : 'User-Session Binding' ?></h4>
                <p><?= $currentLang === 'fr' ? 'Les jetons sont cryptographiquement liés à la fois à l\'ID utilisateur et à l\'ID de session, empêchant :' : 'Tokens are cryptographically bound to both user ID and session ID, preventing:' ?></p>
                <ul>
                    <li><strong><?= $currentLang === 'fr' ? 'Partage inter-navigateurs :' : 'Cross-Browser Sharing:' ?></strong> <?= $currentLang === 'fr' ? 'Un jeton d\'un navigateur ne fonctionnera pas dans un autre' : 'Token from one browser won\'t work in another' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Partage inter-sessions :' : 'Cross-Session Sharing:' ?></strong> <?= $currentLang === 'fr' ? 'Un jeton d\'une session ne fonctionnera pas après déconnexion/connexion' : 'Token from one session won\'t work after logout/login' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Usurpation d\'identité :' : 'User Impersonation:' ?></strong> <?= $currentLang === 'fr' ? 'Un jeton d\'un utilisateur ne fonctionnera pas pour un autre utilisateur' : 'Token from one user won\'t work for another user' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Partage de jeton invité :' : 'Guest Token Sharing:' ?></strong> <?= $currentLang === 'fr' ? 'Même les jetons invités sont liés à l\'ID de session' : 'Even guest tokens are bound to session ID' ?></li>
                </ul>
            </div>

            <div class="info-box">
                <strong>✅ <?= $currentLang === 'fr' ? 'Protection :' : 'Protection:' ?></strong> <?= $currentLang === 'fr' ? 'Même si quelqu\'un copie une URL avec un jeton, cela ne fonctionnera pas dans son navigateur ou sa session. Le jeton est cryptographiquement lié à l\'utilisateur et à la session d\'origine.' : 'Even if someone copies a URL with a token, it won\'t work in their browser or session. The token is cryptographically tied to the original user and session.' ?>
            </div>
        </div>

        <!-- Layer 3: Referrer Validation -->
        <div class="security-section">
            <h2><span class="security-icon">🚫</span> <?= $currentLang === 'fr' ? 'Couche 3 : Validation de l\'origine' : 'Layer 3: Origin Validation' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Vérification stricte de l\'origine' : 'Strict Origin Checking' ?></h4>
                <p><?= $currentLang === 'fr' ? 'L\'accès direct par URL est bloqué. Les URL audio ne peuvent être accessibles que depuis des pages autorisées de notre site web.' : 'Direct URL access is blocked. Audio URLs can only be accessed from authorized pages on our website.' ?></p>
            </div>

            <div class="comparison-table">
                <thead>
                    <tr>
                        <th><?= $currentLang === 'fr' ? 'Méthode d\'accès' : 'Access Method' ?></th>
                        <th><?= $currentLang === 'fr' ? 'Résultat' : 'Result' ?></th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><?= $currentLang === 'fr' ? 'Cliquer sur le bouton lecture sur une page de piste' : 'Click play button on a track page' ?></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Autorisé' : 'Allowed' ?></span></td>
                    </tr>
                    <tr>
                        <td><?= $currentLang === 'fr' ? 'Cliquer sur le bouton lecture sur la page communautaire' : 'Click play button on community page' ?></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Autorisé' : 'Allowed' ?></span></td>
                    </tr>
                    <tr>
                        <td><?= $currentLang === 'fr' ? 'Coller l\'URL directement dans le navigateur' : 'Paste URL directly in browser' ?></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><?= $currentLang === 'fr' ? 'Partager l\'URL avec quelqu\'un d\'autre' : 'Share URL with someone else' ?></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                </tbody>
            </div>

            <div class="info-box">
                <strong>✅ <?= $currentLang === 'fr' ? 'Protection :' : 'Protection:' ?></strong> <?= $currentLang === 'fr' ? 'Empêche le partage direct d\'URL et l\'accès non autorisé. Même si quelqu\'un obtient un jeton valide, il ne peut pas simplement coller l\'URL dans un navigateur - il doit y accéder via une page autorisée.' : 'Prevents direct URL sharing and unauthorized access. Even if someone gets a valid token, they cannot simply paste the URL in a browser - they must access it through an authorized page.' ?>
            </div>
        </div>

        <!-- Layer 4: One-Time Use -->
        <div class="security-section">
            <h2><span class="security-icon">⏱️</span> <?= $currentLang === 'fr' ? 'Couche 4 : Application d\'utilisation unique' : 'Layer 4: One-Time Use Enforcement' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Limitation stricte d\'utilisation' : 'Strict Usage Limiting' ?></h4>
                <p><?= $currentLang === 'fr' ? 'Les jetons sont suivis par session et ont des limites d\'utilisation strictes :' : 'Tokens are tracked per session and have strict usage limits:' ?></p>
                <ul>
                    <li><strong><?= $currentLang === 'fr' ? 'Utilisations max :' : 'Max Uses:' ?></strong> <?= $currentLang === 'fr' ? '1 utilisation par jeton (aucun rafraîchissement autorisé)' : '1 use per token (no refreshes allowed)' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Consommation immédiate :' : 'Immediate Consumption:' ?></strong> <?= $currentLang === 'fr' ? 'Le jeton est consommé au premier chargement de page' : 'Token is consumed on first page load' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Blocage du rafraîchissement :' : 'Refresh Blocking:' ?></strong> <?= $currentLang === 'fr' ? 'Toute tentative de rafraîchissement ou de rechargement est bloquée' : 'Any attempt to refresh or reload is blocked' ?></li>
                </ul>
            </div>

            <div class="info-box">
                <strong>✅ <?= $currentLang === 'fr' ? 'Protection :' : 'Protection:' ?></strong> <?= $currentLang === 'fr' ? 'Empêche le partage et la réutilisation d\'URL. Même si quelqu\'un obtient un jeton valide, il ne peut l\'utiliser qu\'une seule fois. Rafraîchir la page ou essayer d\'y accéder à nouveau échouera.' : 'Prevents URL sharing and reuse. Even if someone gets a valid token, they can only use it once. Refreshing the page or trying to access it again will fail.' ?>
            </div>
        </div>

        <!-- Layer 5: Expiration -->
        <div class="security-section">
            <h2><span class="security-icon">⏰</span> <?= $currentLang === 'fr' ? 'Couche 5 : Expiration basée sur le temps' : 'Layer 5: Time-Based Expiration' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Jetons à courte durée de vie' : 'Short-Lived Tokens' ?></h4>
                <p><?= $currentLang === 'fr' ? 'Tous les jetons ont un mécanisme d\'expiration intégré :' : 'All tokens have a built-in expiration mechanism:' ?></p>
                <ul>
                    <li><strong><?= $currentLang === 'fr' ? 'Temps d\'expiration :' : 'Expiration Time:' ?></strong> <?= $currentLang === 'fr' ? '5 minutes à partir de la génération' : '5 minutes from generation' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Rejet automatique :' : 'Automatic Rejection:' ?></strong> <?= $currentLang === 'fr' ? 'Les jetons expirés sont immédiatement rejetés' : 'Expired tokens are immediately rejected' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Aucune extension :' : 'No Extension:' ?></strong> <?= $currentLang === 'fr' ? 'Les jetons ne peuvent pas être étendus ou renouvelés' : 'Tokens cannot be extended or renewed' ?></li>
                </ul>
            </div>

            <div class="info-box">
                <strong>✅ <?= $currentLang === 'fr' ? 'Protection :' : 'Protection:' ?></strong> <?= $currentLang === 'fr' ? 'Même si un jeton est intercepté, il devient inutile après 5 minutes. Cela limite la fenêtre d\'opportunité pour tout abus potentiel.' : 'Even if a token is intercepted, it becomes useless after 5 minutes. This limits the window of opportunity for any potential abuse.' ?>
            </div>
        </div>

        <!-- Layer 6: Smart Playback -->
        <div class="security-section">
            <h2><span class="security-icon">🎵</span> <?= $currentLang === 'fr' ? 'Couche 6 : Gestion intelligente de la lecture' : 'Layer 6: Smart Playback Handling' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Types de requêtes différenciés' : 'Differentiated Request Types' ?></h4>
                <p><?= $currentLang === 'fr' ? 'Le système différencie intelligemment entre différents types de requêtes pour garantir une expérience de lecture fluide tout en maintenant la sécurité :' : 'The system intelligently differentiates between different types of requests to ensure smooth playback experience while maintaining security:' ?></p>
                <ul>
                    <li><strong><?= $currentLang === 'fr' ? 'Chargements de page :' : 'Page Loads:' ?></strong> <?= $currentLang === 'fr' ? 'Consomment l\'utilisation du jeton' : 'Consume token use' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Requêtes de lecture :' : 'Playback Requests:' ?></strong> <?= $currentLang === 'fr' ? 'Ne consomment pas d\'utilisations supplémentaires' : 'Don\'t consume additional uses' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Support de recherche :' : 'Seeking Support:' ?></strong> <?= $currentLang === 'fr' ? 'Support complet pour la recherche audio' : 'Full support for audio seeking' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Mise en mémoire tampon :' : 'Buffering:' ?></strong> <?= $currentLang === 'fr' ? 'Plusieurs requêtes autorisées pour une lecture fluide' : 'Multiple requests allowed for smooth playback' ?></li>
                </ul>
            </div>

            <div class="info-box">
                <strong>✅ <?= $currentLang === 'fr' ? 'Expérience utilisateur :' : 'User Experience:' ?></strong> <?= $currentLang === 'fr' ? 'Tout en maintenant une sécurité stricte, le système garantit que la lecture, la recherche et la mise en mémoire tampon fonctionnent parfaitement. Les utilisateurs ne subissent aucune interruption pendant la lecture.' : 'While maintaining strict security, the system ensures smooth playback, seeking, and buffering work perfectly. Users don\'t experience any interruptions during playback.' ?>
            </div>
        </div>

        <!-- Security Comparison -->
        <div class="security-section">
            <h2><span class="security-icon">📊</span> <?= $currentLang === 'fr' ? 'Comparaison de sécurité' : 'Security Comparison' ?></h2>
            
            <div class="comparison-table">
                <thead>
                    <tr>
                        <th><?= $currentLang === 'fr' ? 'Vecteur d\'attaque' : 'Attack Vector' ?></th>
                        <th><?= $currentLang === 'fr' ? 'Sans protection' : 'Without Protection' ?></th>
                        <th><?= $currentLang === 'fr' ? 'Avec notre protection' : 'With Our Protection' ?></th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Partage direct d\'URL' : 'Direct URL Sharing' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Accès inter-navigateurs' : 'Cross-Browser Access' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Réutilisation de jeton' : 'Token Reuse' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Falsification d\'URL' : 'URL Tampering' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Utilisation de jeton expiré' : 'Expired Token Use' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Accès inter-pistes' : 'Cross-Track Access' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                    <tr>
                        <td><strong><?= $currentLang === 'fr' ? 'Téléchargement en masse' : 'Bulk Downloading' ?></strong></td>
                        <td><span class="xmark">❌ <?= $currentLang === 'fr' ? 'Vulnérable' : 'Vulnerable' ?></span></td>
                        <td><span class="checkmark">✅ <?= $currentLang === 'fr' ? 'Bloqué' : 'Blocked' ?></span></td>
                    </tr>
                </tbody>
            </div>
        </div>

        <!-- Best Practices -->
        <div class="security-section">
            <h2><span class="security-icon">💡</span> <?= $currentLang === 'fr' ? 'Meilleures pratiques pour les artistes' : 'Best Practices for Artists' ?></h2>
            
            <div class="protection-layer">
                <h4><?= $currentLang === 'fr' ? 'Ce que vous devriez savoir :' : 'What You Should Know:' ?></h4>
                <ul>
                    <li><strong><?= $currentLang === 'fr' ? 'Votre musique est protégée :' : 'Your music is protected:' ?></strong> <?= $currentLang === 'fr' ? 'Toutes les pistes sont automatiquement protégées par ces mesures de sécurité' : 'All tracks are automatically protected by these security measures' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Aucune action supplémentaire nécessaire :' : 'No additional action needed:' ?></strong> <?= $currentLang === 'fr' ? 'La sécurité est intégrée et toujours active' : 'Security is built-in and always active' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Public vs Privé :' : 'Public vs Private:' ?></strong> <?= $currentLang === 'fr' ? 'Les pistes publiques et privées utilisent les mêmes mesures de sécurité' : 'Both public and private tracks use the same security measures' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'Le partage est bloqué :' : 'Sharing is blocked:' ?></strong> <?= $currentLang === 'fr' ? 'Les URL ne peuvent pas être partagées ou réutilisées, même par l\'utilisateur d\'origine' : 'URLs cannot be shared or reused, even by the original user' ?></li>
                    <li><strong><?= $currentLang === 'fr' ? 'La lecture est fluide :' : 'Playback is smooth:' ?></strong> <?= $currentLang === 'fr' ? 'La sécurité n\'interfère pas avec l\'expérience de lecture normale' : 'Security doesn\'t interfere with normal playback experience' ?></li>
                </ul>
            </div>

            <div class="info-box">
                <strong>🎵 <?= $currentLang === 'fr' ? 'Pour votre public :' : 'For Your Audience:' ?></strong> <?= $currentLang === 'fr' ? 'Vos auditeurs peuvent lire les pistes normalement via le site web. La sécurité est complètement transparente pour eux - ils ne remarqueront aucune différence, mais votre musique est entièrement protégée.' : 'Your listeners can play tracks normally through the website. The security is completely transparent to them - they won\'t notice any difference, but your music is fully protected.' ?>
            </div>
        </div>

        <!-- Footer -->
        <div class="security-footer">
            <h2><?= $currentLang === 'fr' ? '🛡️ Votre musique est protégée' : '🛡️ Your Music is Protected' ?></h2>
            <p style="font-size: 1.1rem; opacity: 0.95;">
                <?= $currentLang === 'fr' ? 'Plusieurs couches de sécurité fonctionnent ensemble pour garantir que votre musique ne peut pas être volée, partagée ou accessible sans autorisation.' : 'Multiple layers of security work together to ensure your music cannot be stolen, shared, or accessed without authorization.' ?>
            </p>
            <p style="margin-top: var(--space-md); opacity: 0.9;">
                <strong><?= $currentLang === 'fr' ? 'Dernière mise à jour :' : 'Last Updated:' ?></strong> <?= date('F j, Y') ?>
            </p>
        </div>
    </div>

    <?php include 'includes/footer.php'; ?>


CasperSecurity Mini