|
|
<!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> |