PNG IHDR x sBIT|d pHYs + tEXtSoftware www.inkscape.org< ,tEXtComment
<?php
include('includes/connect.php');
include('includes/functions.php');
session_start();
// Regenerate session ID to prevent session fixation attacks
session_regenerate_id(true);
// Set up login attempt tracking
if (!isset($_SESSION['login_attempts'])) {
$_SESSION['login_attempts'] = 0;
$_SESSION['lockout_time'] = 0;
}
// CSRF Token Generation
if (empty($_SESSION['csrf_token'])) {
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}
// Handle login request
if ($_SERVER["REQUEST_METHOD"] === "POST") {
// Check if honeypot field is filled (Bot detection)
if (!empty($_POST['honeypot'])) {
echo "<script>alert('Bot detected! Access denied.'); window.location='login.php';</script>";
exit;
}
// Check if CSRF token is valid
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
echo "<script>alert('Invalid CSRF Token! Please refresh the page and try again.'); window.location='login.php';</script>";
exit;
}
// Check if user is locked out
if ($_SESSION['login_attempts'] >= 3 && time() < $_SESSION['lockout_time']) {
$remaining_time = ($_SESSION['lockout_time'] - time()) / 60;
echo "<script>alert('Too many failed login attempts! Try again in " . round($remaining_time) . " minutes.'); window.location='login.php';</script>";
exit;
}
// Validate input
if (empty(trim($_POST['acc_name'])) || empty(trim($_POST['upass']))) {
echo "<script>alert('Username and password cannot be empty!'); window.location='login.php';</script>";
exit;
}
$username = htmlspecialchars(trim($_POST['acc_name']), ENT_QUOTES, 'UTF-8');
$password = trim($_POST['upass']); // Do not sanitize passwords (use hashing instead)
// Authenticate user
$login = authUser($username, $password);
if ($login === true) {
$_SESSION["username"] = $username;
$_SESSION['login_attempts'] = 0; // Reset failed attempts
header("Location: ssl");
exit;
} else {
$_SESSION['login_attempts']++;
// Lockout for 10 minutes after 3 failed attempts
if ($_SESSION['login_attempts'] >= 3) {
$_SESSION['lockout_time'] = time() + (10 * 60);
echo "<script>alert('Too many failed login attempts! Locked for 10 minutes.'); window.location='login.php';</script>";
} else {
echo "<script>alert('Incorrect username or password! Please try again.'); window.location='login.php';</script>";
}
exit;
}
}
?>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<link rel="stylesheet" href="assets/css/aos.css">
<link rel="stylesheet" href="assets/css/animate.min.css">
<link rel="stylesheet" href="assets/css/meanmenu.css">
<link rel="stylesheet" href="assets/css/remixicon.css">
<link rel="stylesheet" href="assets/css/flaticon.css">
<link rel="stylesheet" href="assets/css/odometer.min.css">
<link rel="stylesheet" href="assets/css/owl.carousel.min.css">
<link rel="stylesheet" href="assets/css/owl.theme.default.min.css">
<link rel="stylesheet" href="assets/css/magnific-popup.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<link rel="stylesheet" href="assets/css/navbar.css">
<link rel="stylesheet" href="assets/css/footer.css">
<link rel="stylesheet" href="assets/css/responsive.css">
<title>Richard Moore Smith - Money Transfer & Banking</title>
</head>
<body>
<style>
/* General Reset */
body, h1, h2, h3, h4, h5, h6, p, ul, li, a {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Arial, sans-serif;
background-color: #ffffff; /* White background for the whole page */
}
/* Topbar Styling */
.topbar-area {
background-color: #f8f9fa; /* Light grey background for topbar */
padding: 10px 0;
}
.topbar-information {
list-style: none;
padding: 0;
margin: 0;
display: flex;
justify-content: flex-start;
}
.topbar-information li {
margin-right: 15px;
}
.topbar-information a {
text-decoration: none;
color: #333;
}
/* Navbar Styling */
.navbar-area {
/* Dark grey background for navbar */
padding: 10px 0;
}
.main-navbar {
position: relative;
}
.navbar {
display: flex;
justify-content: center;
align-items: center;
}
.navbar-brand .logo {
max-height: 60px; /* Adjust based on your logo's aspect ratio */
}
.others-options {
display: flex;
justify-content: flex-end;
align-items: center;
}
.optional-btn, .default-btn {
color: #fff;
text-decoration: none;
padding: 10px 20px;
margin-left: 10px;
border-radius: 5px;
font-size: 14px;
}
.optional-btn {
background-color: #007bff;
}
.default-btn {
background-color: #28a745;
}
/* Responsive Options Styling */
.others-option-for-responsive {
display: none; /* Hidden by default */
}
.dot-menu {
display: flex;
justify-content: center;
padding: 10px 0;
}
.dot-menu .inner {
display: flex;
flex-direction: column;
align-items: center;
}
.circle {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #fff;
margin: 3px;
}
.circle-one { background-color: #007bff; }
.circle-two { background-color: #28a745; }
.circle-three { background-color: #dc3545; }
</style>
<div class="topbar-area">
<div class="container-fluid">
<div class="row align-items-center">
<div class="col-lg-6 col-md-6">
<ul class="topbar-information">
<li>
<!-- Placeholder for any additional content -->
</li>
<li>
<a href="mailto:support@richardmooresmith.org">support@richardmooresmith.org</a>
</li>
<div class="option-item">
<a href="login.php" class="optional-btn">Log In</a>
<a href="signin.php" class="optional-btn">Get Started</a>
</div>
</ul>
</div>
</div>
</div>
</div>
<div class="topbar-area">
<div class="container-fluid">
<div class="row align-items-center">
<div class="col-lg-6 col-md-6">
<ul class="topbar-information">
<li>
<!-- Placeholder for any additional content -->
</li>
<li>
<a href="mailto:support@richardmooresmith.org">support@richardmooresmith.org</a>
</li>
</ul>
<hr>
<a class="optional-btn" href="login.php">LogIn</a>
<a class="optional-btn" href="signin.php">Signup</a>
</div>
</div>
</div>
</div>
<br>
<br>
<br>
<div class="navbar-area">
<div class="container-fluid">
<div class="main-navbar">
</div>
</div>
</div>
<br>
<style>
.btn-mobile{
display:none;
}
@media only screen and (max-width: 767px) {
.login-btn{
margin-left: 85px;
top: -31px;
margin-left:-12px;
}
.btn-mobile{
display: block;
top: -108px;
width: 179px;
left: 120px;
align:center;
}
}
</style>
<style>
body {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
background-image: url('qq.jpg'); /* Replace with your background image path */
background-size: cover;
background-position: center;
color: #333;
}
.login-area {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
background: rgba(0, 0, 0, 0.5); /* Optional: semi-transparent background for better readability */
padding: 20px;
}
.container {
max-width: 500px;
width: 100%;
}
.login-form {
background: #fff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
text-align: center;
}
.login-form h2 {
margin-bottom: 20px;
font-size: 24px;
color: #333;
font-weight: bold;
}
.login-desc {
color: #e74c3c; /* Red color for error messages */
margin-bottom: 15px;
}
p {
font-size: 16px;
margin-bottom: 20px;
color: #555;
}
.logo {
margin-bottom: 20px;
}
.logo img {
max-width: 150px; /* Adjust the size as needed */
height: auto;
}
.form-group {
margin-bottom: 15px;
}
.form-group label {
display: block;
font-weight: bold;
margin-bottom: 5px;
color: #333;
}
.form-control {
width: 100%;
padding: 10px;
border-radius: 5px;
border: 1px solid #ccc;
font-size: 14px;
box-sizing: border-box;
}
.login-btn {
width: 100%;
padding: 10px;
border: none;
border-radius: 5px;
background-color: #3498db; /* Blue color for the button */
color: #fff;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.login-btn:hover {
background-color: #2980b9; /* Darker blue on hover */
}
</style>
<div class="login-area ptb-100">
<div class="container">
<div class="login-form">
<div class="logo">
<img src="online/upload/gcb.png" alt="Your Logo"> <!-- Replace with your logo path -->
</div>
<h2>Login Here</h2>
<div class="login-desc" style="color:#FF0;">
<?php if(isset($_GET['n'])){
echo "Username or password incorrect";
}?>
</div>
<p>Welcome Back, Login To Your Account</p>
<form method="POST" action="login.php">
<div style="display: none;">
<input type="text" name="honeypot" value="">
</div>
<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>">
<div class="form-group">
<label>Your Username</label>
<input type="text" name="acc_name" class="form-control" placeholder="Your Username">
</div>
<div class="form-group">
<label>Your Password</label>
<input type="password" name="upass" class="form-control" placeholder="Your password">
</div>
<button type="submit" name="login" class="login-btn default-btn">Login Now</button>
</form>
</div>
</div>
</div>
<script data-cfasync="false" src="../../cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script>
<script src="assets/js/jquery.meanmenu.js"></script>
<script src="assets/js/owl.carousel.min.js"></script>
<script src="assets/js/jquery.appear.js"></script>
<script src="assets/js/odometer.min.js"></script>
<script src="assets/js/jquery.magnific-popup.min.js"></script>
<script src="assets/js/TweenMax.min.js"></script>
<script src="assets/js/ScrollMagic.min.js"></script>
<script src="assets/js/aos.js"></script>
<script src="assets/js/jquery.ajaxchimp.min.js"></script>
<script src="assets/js/form-validator.min.js"></script>
<script src="assets/js/contact-form-script.js"></script>
<script src="assets/js/wow.min.js"></script>
<script src="assets/js/main.js"></script>
<!-- Smartsupp Live Chat script -->
<script type="text/javascript">
var _smartsupp = _smartsupp || {};
_smartsupp.key = '09448be2b3c3f9232f64a2170638ede911149628';
window.smartsupp||(function(d) {
var s,c,o=smartsupp=function(){ o._.push(arguments)};o._=[];
s=d.getElementsByTagName('script')[0];c=d.createElement('script');
c.type='text/javascript';c.charset='utf-8';c.async=true;
c.src='https://www.smartsuppchat.com/loader.js?';s.parentNode.insertBefore(c,s);
})(document);
</script>
<noscript> Powered by <a href=“https://www.smartsupp.com” target=“_blank”>Smartsupp</a></noscript>
</body>
b IDATxytVսϓ22 A@IR:hCiZ[v*E:WũZA ^dQeQ @ !jZ'>gsV仿$|?g)&x-E