Fix issues with register page and captcha on both login and register page
This commit is contained in:
1 parent
e63e596830
commit
f33c3ec72c
4 files changed
+115
-105
No files matched your search
@@ -197,6 +197,7 @@ if (isset($_COOKIE['session'])) {
|
||||
} else {
|
||||
var response = JSON.parse(xhr.responseText);
|
||||
alert(response.response + ' (' + xhr.status + ')');
|
||||
document.querySelector('.cf-turnstile').innerHTML = '';
|
||||
captcha_token = '';
|
||||
turnstile.render('.cf-turnstile', {
|
||||
sitekey: '<?= $captcha_sitekey ?>',
|
||||
|
||||
+100
-103
@@ -13,13 +13,16 @@ if (isset($_COOKIE['session'])) {
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Login Page</title>
|
||||
<link rel="icon" href="/assets/logo.png" type="image/png">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap">
|
||||
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=onloadTurnstileCallback" async defer></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=onloadTurnstileCallback"
|
||||
async defer></script>
|
||||
<style>
|
||||
body {
|
||||
background-color: #1f1f1f;
|
||||
@@ -68,7 +71,71 @@ if (isset($_COOKIE['session'])) {
|
||||
transform: scale(1.08);
|
||||
}
|
||||
|
||||
input[type="text"], input[type="password"] {
|
||||
#topic-container {
|
||||
text-align: left;
|
||||
max-width: 600px;
|
||||
margin-top: 10vh;
|
||||
transition: margin-top 0.5s;
|
||||
}
|
||||
|
||||
.topic-wrapper {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
.topic-box {
|
||||
flex: 0 0 30%;
|
||||
width: 320px;
|
||||
border: 2px solid #3c076e;
|
||||
margin: 10px;
|
||||
margin-bottom: 20px;
|
||||
padding: 15px;
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
transition: transform 0.3s ease;
|
||||
background: #1B1B1B;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.topic-icon {
|
||||
background-color: #3c076e;
|
||||
padding: 10px;
|
||||
border-radius: 50%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.topic-text {
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
text-shadow: 1px 1px 2px #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.topic-text:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.topic-box:hover .topic-text {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.topic-box:hover {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
|
||||
.topic-description {
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
text-shadow: 1px 1px 2px #000;
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"] {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
@@ -80,16 +147,13 @@ if (isset($_COOKIE['session'])) {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
input[type="text"]::placeholder, input[type="password"]::placeholder {
|
||||
input[type="text"]::placeholder,
|
||||
input[type="password"]::placeholder {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="main-container">
|
||||
<h1>Welcome!</h1>
|
||||
@@ -103,123 +167,56 @@ if (isset($_COOKIE['session'])) {
|
||||
</form>
|
||||
<a id="btn" href="/dashboard/login.php">Already have an account?</a>
|
||||
</div>
|
||||
<div id="check-email" style="display: none; text-align: center;">
|
||||
<h1>Check your email</h1>
|
||||
<p>We sent an email to confirm your email address.</p>
|
||||
<p id="email-sender" style="display: none;"></p>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let captcha_token = '';
|
||||
|
||||
let captcha_token = ''
|
||||
window.onloadTurnstileCallback = function () {
|
||||
turnstile.render('.cf-turnstile', {
|
||||
sitekey: '<?= $captcha_sitekey ?>',
|
||||
callback: function (token) {
|
||||
captcha_token = token;
|
||||
captcha_token = token
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
$('#loginForm').on('submit', function (event) {
|
||||
event.preventDefault();
|
||||
$('#loginForm').on('submit', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var email = $('#email').val();
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
if (captcha_token === '') {
|
||||
alert("Complete the captcha");
|
||||
return
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: '../../api/registerAccount.php',
|
||||
data: { email: email, username: username, password: password, captcha_token: captcha_token },
|
||||
success: function (data, textStatus, xhr) {
|
||||
console.log(data, xhr.status);
|
||||
try {
|
||||
var parts = email.split('@');
|
||||
var domain = parts[1];
|
||||
|
||||
var emailProviders = {
|
||||
'gmail.com': 'mail.google.com',
|
||||
'yahoo.com': 'mail.yahoo.com',
|
||||
'hotmail.com': 'mail.live.com',
|
||||
'outlook.com': 'outlook.live.com',
|
||||
'aol.com': 'mail.aol.com',
|
||||
'icloud.com': 'icloud.com',
|
||||
'protonmail.com': 'protonmail.com',
|
||||
'mail.com': 'mail.com',
|
||||
'zoho.com': 'zoho.com',
|
||||
'yandex.com': 'mail.yandex.com',
|
||||
'live.com': 'mail.live.com',
|
||||
'inbox.com': 'inbox.com',
|
||||
'fastmail.com': 'fastmail.com',
|
||||
'gmx.com': 'mail.gmx.com',
|
||||
'rocketmail.com': 'mail.yahoo.com',
|
||||
'mail.ru': 'mail.ru',
|
||||
'naver.com': 'mail.naver.com',
|
||||
'rediffmail.com': 'mail.rediff.com',
|
||||
'tutanota.com': 'tutanota.com',
|
||||
'seznam.cz': 'email.seznam.cz',
|
||||
'me.com': 'me.com',
|
||||
'cox.net': 'webmail.cox.net',
|
||||
'sbcglobal.net': 'att.yahoo.com',
|
||||
'att.net': 'att.yahoo.com',
|
||||
'verizon.net': 'mail.aol.com',
|
||||
'earthlink.net': 'webmail.earthlink.net',
|
||||
'optonline.net': 'mail.optimum.net',
|
||||
'roadrunner.com': 'webmail.spectrum.net',
|
||||
'windstream.net': 'windstream.net',
|
||||
'juno.com': 'webmail.juno.com',
|
||||
'aim.com': 'mail.aol.com',
|
||||
'mailinator.com': 'mailinator.com',
|
||||
'comcast.net': 'xfinity.com',
|
||||
'bellsouth.net': 'mail.yahoo.com',
|
||||
'charter.net': 'spectrum.net',
|
||||
'frontier.com': 'frontier.com',
|
||||
'centurylink.net': 'centurylink.net',
|
||||
'shaw.ca': 'webmail.shaw.ca',
|
||||
'telus.net': 'webmail.telus.net',
|
||||
'sympatico.ca': 'bell.net',
|
||||
'rogers.com': 'rogers.com',
|
||||
'videotron.ca': 'webmail.videotron.ca',
|
||||
'hotmail.co.uk': 'mail.live.com',
|
||||
'yahoo.co.uk': 'mail.yahoo.com',
|
||||
'live.co.uk': 'mail.live.com',
|
||||
'outlook.co.uk': 'outlook.live.com',
|
||||
'btinternet.com': 'mail.yahoo.com',
|
||||
'blueyonder.co.uk': 'blueyonder.co.uk',
|
||||
'talktalk.net': 'webmail.talktalk.net',
|
||||
'virginmedia.com': 'virginmedia.com'
|
||||
};
|
||||
|
||||
if (emailProviders[domain] && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
|
||||
var emailSenderTag = document.getElementById("email-sender");
|
||||
emailSenderTag.innerHTML = '<a href="https://' + emailProviders[domain] + '">Click here to view your inbox</a>';
|
||||
emailSenderTag.style.display = "block";
|
||||
}
|
||||
} catch (ignoreError) {
|
||||
}
|
||||
|
||||
//document.title = "Check your eamil";
|
||||
//document.getElementById("main-container").style.display = "none";
|
||||
//document.getElementById("check-email").style.display = "block";
|
||||
//email shit coming soon!!!!!!
|
||||
window.location.href = "/dashboard/login.php";
|
||||
},
|
||||
error: function (xhr, textStatus, errorThrown) {
|
||||
var email = $('#email').val();
|
||||
var username = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: '../../api/registerAccount.php',
|
||||
data: { email: email, username: username, password: password, captcha_token: captcha_token },
|
||||
complete: function (xhr, textStatus) {
|
||||
if (xhr.status === 200) {
|
||||
var response = JSON.parse(xhr.responseText);
|
||||
window.location.href = '/dashboard/login.php';
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));
|
||||
var expires = "; expires=" + date.toGMTString();
|
||||
document.cookie = "session=" + response.session + expires + "; path=/";
|
||||
} else {
|
||||
var response = JSON.parse(xhr.responseText);
|
||||
alert(response.response + ' (' + xhr.status + ')');
|
||||
document.querySelector('.cf-turnstile').innerHTML = '';
|
||||
captcha_token = '';
|
||||
turnstile.render('.cf-turnstile', {
|
||||
sitekey: '<?= $captcha_sitekey ?>',
|
||||
callback: function (token) {
|
||||
captcha_token = token;
|
||||
captcha_token = token
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in new issue
Block a user