| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>DashX - Authentication</title> |
| <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"> |
| <link href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert2/11.10.8/sweetalert2.min.css" rel="stylesheet"> |
| <link href="styles.css" rel="stylesheet"> |
| </head> |
| <body> |
| <nav class="navbar"> |
| <div class="nav-container"> |
| <div class="nav-brand"> |
| <a href="/"> |
| <h2><i class="fas fa-bolt"></i> DashX</h2> |
| </a> |
| </div> |
| </div> |
| </nav> |
|
|
| <div class="auth-container"> |
| <div class="auth-card"> |
| <div class="auth-tabs"> |
| <button class="tab-btn active" onclick="switchTab('login')"> |
| <i class="fas fa-sign-in-alt"></i> Login |
| </button> |
| <button class="tab-btn" onclick="switchTab('register')"> |
| <i class="fas fa-user-plus"></i> Register |
| </button> |
| </div> |
|
|
| <form id="loginForm" class="auth-form"> |
| <h2><i class="fas fa-sign-in-alt"></i> Login to DashX</h2> |
| <div class="form-group"> |
| <label><i class="fas fa-envelope"></i> Email</label> |
| <input type="email" name="email" required placeholder="Enter your email"> |
| </div> |
| <div class="form-group"> |
| <label><i class="fas fa-lock"></i> Password</label> |
| <input type="password" name="password" required placeholder="Enter your password"> |
| </div> |
| <button type="submit" class="btn btn-primary"> |
| <i class="fas fa-sign-in-alt"></i> Login |
| </button> |
| </form> |
|
|
| <form id="registerForm" class="auth-form" style="display: none;"> |
| <h2><i class="fas fa-user-plus"></i> Create Account</h2> |
| <div class="form-group"> |
| <label><i class="fas fa-user"></i> Username</label> |
| <input type="text" name="username" required placeholder="Choose a username"> |
| </div> |
| <div class="form-group"> |
| <label><i class="fas fa-envelope"></i> Email</label> |
| <input type="email" name="email" required placeholder="Enter your email"> |
| </div> |
| <div class="form-group"> |
| <label><i class="fas fa-lock"></i> Password</label> |
| <input type="password" name="password" required placeholder="Choose a password"> |
| </div> |
| <button type="submit" class="btn btn-primary"> |
| <i class="fas fa-user-plus"></i> Register |
| </button> |
| </form> |
|
|
| <form id="adminForm" class="auth-form" style="display: none;"> |
| <h2><i class="fas fa-user-shield"></i> Admin Login</h2> |
| <div class="form-group"> |
| <label><i class="fas fa-user"></i> Username</label> |
| <input type="text" name="username" required placeholder="Admin username"> |
| </div> |
| <div class="form-group"> |
| <label><i class="fas fa-lock"></i> Password</label> |
| <input type="password" name="password" required placeholder="Admin password"> |
| </div> |
| <button type="submit" class="btn btn-primary"> |
| |
| </button> |
| </form> |
|
|
| <form id="verifyForm" class="auth-form" style="display: none;"> |
| <h2><i class="fas fa-envelope-open"></i> Verify Email</h2> |
| <p style="text-align: center; margin-bottom: 1.5rem; opacity: 0.8;"> |
| Check your email for the verification code |
| </p> |
| <div class="form-group"> |
| <label><i class="fas fa-envelope"></i> Email</label> |
| <input type="email" name="email" required placeholder="Your email address"> |
| </div> |
| <div class="form-group"> |
| <label><i class="fas fa-key"></i> Verification Code</label> |
| <input type="text" name="code" required placeholder="Enter 6-digit code" maxlength="6" style="text-transform: uppercase; letter-spacing: 2px;"> |
| </div> |
| <button type="submit" class="btn btn-primary"> |
| <i class="fas fa-check"></i> Verify |
| </button> |
| <div style="text-align: center; margin-top: 1rem;"> |
| <button type="button" class="btn btn-secondary" onclick="switchTab('register')" style="font-size: 0.9rem;"> |
| <i class="fas fa-arrow-left"></i> Back to Register |
| </button> |
| </div> |
| </form> |
| </div> |
| </div> |
| <script> |
| (function(){ |
| function detectDevTools(){ |
| const threshold = 160; |
| const widthThreshold = window.outerWidth - window.innerWidth > threshold; |
| const heightThreshold = window.outerHeight - window.innerHeight > threshold; |
| if(widthThreshold || heightThreshold) window.location.href = "/denied"; |
| } |
| |
| document.addEventListener("contextmenu", e => e.preventDefault()); |
| document.onkeydown = function(e){ |
| if(e.keyCode === 123 || (e.ctrlKey && e.shiftKey && ['I','C','J'].includes(e.key?.toUpperCase())) || (e.ctrlKey && e.key?.toUpperCase() === 'U')){ |
| e.preventDefault(); |
| window.location.href = "/denied"; |
| } |
| }; |
| |
| setInterval(() => { |
| if(window.eruda) window.location.href = "/denied"; |
| detectDevTools(); |
| try{ |
| console.profile(); |
| console.profileEnd(); |
| }catch(e){} |
| try{ |
| if(console.clear.toString().length > 100) window.location.href = "/denied"; |
| }catch(e){} |
| }, 1000); |
| })(); |
| </script> |
|
|
|
|
| <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert2/11.10.8/sweetalert2.min.js"></script> |
| <script src="auth.js"></script> |
| </body> |
| </html> |