File: /home/csf/public_html/index.php
<!doctype html>
<html lang="en">
<head>
<title>Access Restricted - Panomity Hosting</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<link rel="icon" type="image/png" sizes="32x32" href="https://support.panomity.com/templates/panomity/dist/images/panomity-fav-32.png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
min-height: 100vh;
background: linear-gradient(135deg, #0a0a1a 0%, #1a1a3a 50%, #0d0d2b 100%);
color: #e0e0e0;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}
.container {
max-width: 520px;
width: 100%;
}
.card {
background: rgba(255, 255, 255, 0.03);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 24px;
padding: 40px;
box-shadow:
0 25px 50px -12px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(255, 255, 255, 0.05) inset;
}
.logo-container {
text-align: center;
margin-bottom: 30px;
}
.logo {
width: 80px;
height: 80px;
border-radius: 20px;
box-shadow: 0 10px 40px rgba(99, 102, 241, 0.3);
}
.brand-name {
font-size: 24px;
font-weight: 600;
margin-top: 15px;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.alert-header {
text-align: center;
margin-bottom: 30px;
}
.alert-icon {
width: 64px;
height: 64px;
background: linear-gradient(135deg, #f59e0b, #ef4444);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
font-size: 28px;
}
.alert-title {
font-size: 22px;
font-weight: 600;
color: #fff;
margin-bottom: 10px;
}
.alert-subtitle {
font-size: 14px;
color: #9ca3af;
line-height: 1.6;
}
.info-box {
background: rgba(99, 102, 241, 0.1);
border: 1px solid rgba(99, 102, 241, 0.2);
border-radius: 12px;
padding: 16px;
margin: 20px 0;
}
.info-row {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
font-size: 13px;
}
.info-row:last-child {
border-bottom: none;
}
.info-label {
color: #9ca3af;
}
.info-value {
color: #e0e0e0;
font-weight: 500;
font-family: monospace;
}
.recaptcha-section {
margin: 30px 0;
text-align: center;
}
.recaptcha-title {
font-size: 14px;
color: #9ca3af;
margin-bottom: 20px;
}
.g-recaptcha {
display: inline-block;
}
.btn-unblock {
width: 100%;
padding: 16px 24px;
background: linear-gradient(135deg, #6366f1, #8b5cf6);
border: none;
border-radius: 12px;
color: #fff;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 20px;
}
.btn-unblock:hover {
transform: translateY(-2px);
box-shadow: 0 10px 40px rgba(99, 102, 241, 0.4);
}
.message {
padding: 16px;
border-radius: 12px;
margin: 20px 0;
font-size: 14px;
}
.message-success {
background: rgba(16, 185, 129, 0.1);
border: 1px solid rgba(16, 185, 129, 0.3);
color: #10b981;
}
.message-error {
background: rgba(239, 68, 68, 0.1);
border: 1px solid rgba(239, 68, 68, 0.3);
color: #ef4444;
}
.note {
background: rgba(59, 130, 246, 0.1);
border: 1px solid rgba(59, 130, 246, 0.2);
border-radius: 12px;
padding: 16px;
margin-top: 20px;
font-size: 13px;
color: #93c5fd;
line-height: 1.6;
}
.support-link {
text-align: center;
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.support-link a {
color: #8b5cf6;
text-decoration: none;
font-size: 14px;
font-weight: 500;
transition: color 0.3s ease;
}
.support-link a:hover {
color: #a78bfa;
}
.footer {
text-align: center;
margin-top: 30px;
font-size: 12px;
color: #6b7280;
}
.footer a {
color: #8b5cf6;
text-decoration: none;
}
</style>
</head>
<body>
<?php require('../recaptcha.php'); ?>
<?php
$lang = array(
"warning" => "Access Restricted",
"contact" => "Your IP address has been temporarily blocked due to suspicious activity.",
"blocked ip" => "Your IP Address:",
"hostname" => "Server:",
"recaptcha title" => "Verify you're human to request an unblock:",
"unblock submit" => "Request Unblock",
"recaptcha success" => "Verification successful! Please wait a few seconds and your IP should be unblocked. Return to:",
"recaptcha failure" => "Verification failed. Please try again.",
"recaptcha error" => "Please complete the reCAPTCHA verification.",
"recaptcha hostfail" => "Hostname verification failed.",
"recaptcha note" => "Note: Not all unblock requests will be successful as it depends on how your IP was blocked. If the unblock fails, please contact our support team."
);
?>
<div class="container">
<div class="card">
<div class="logo-container">
<img src="https://support.panomity.com/templates/panomity/dist/images/panomity-fav-180.png" alt="Panomity" class="logo">
<div class="brand-name">Panomity Hosting</div>
</div>
<div class="alert-header">
<div class="alert-icon">⚠️</div>
<h1 class="alert-title"><?php echo $lang["warning"]; ?></h1>
<p class="alert-subtitle"><?php echo $lang["contact"]; ?></p>
</div>
<div class="info-box">
<div class="info-row">
<span class="info-label"><?php echo $lang["blocked ip"]; ?></span>
<span class="info-value"><?php echo $_SERVER['REMOTE_ADDR']; ?></span>
</div>
<div class="info-row">
<span class="info-label"><?php echo $lang["hostname"]; ?></span>
<span class="info-value"><?php echo php_uname('n'); ?></span>
</div>
</div>
<form action="" method="POST">
<div class="recaptcha-section">
<p class="recaptcha-title"><?php echo $lang["recaptcha title"]; ?></p>
<div class="g-recaptcha" data-sitekey="<?php echo $sitekey; ?>" data-theme="dark"></div>
<button type="submit" name="submit" class="btn-unblock"><?php echo $lang["unblock submit"]; ?></button>
</div>
</form>
<?php
if (!empty($_POST)) {
$alert = '';
$message = '';
$pieces = explode(".", php_uname('n'));
$date = @date('M j H:i:s'). " " . $pieces[0] . " ";
if (isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) {
$data = array('secret' => $secret,'response' => $_POST['g-recaptcha-response']);
$verify = curl_init();
curl_setopt($verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($verify, CURLOPT_POST, true);
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($verify, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
$verifyResponse = curl_exec($verify);
$responseData = json_decode($verifyResponse);
if($responseData->success) {
if ($responseData->hostname == $_SERVER['SERVER_NAME']) {
$alert = 'success';
$message = $lang["recaptcha success"] . "<br><a href='" . $_SERVER['REQUEST_URI'] . "' style='color:#10b981;'>" . $_SERVER['REQUEST_URI'] . "</a>";
file_put_contents($unblockfile, $_SERVER['REMOTE_ADDR'].";".$_SERVER['SERVER_NAME'].";".$_SERVER['SERVER_ADDR']."\n", FILE_APPEND | LOCK_EX);
file_put_contents($logfile,$date . "*Success*, ReCaptcha (" . $_SERVER['REMOTE_ADDR'].": [".$_SERVER['SERVER_NAME']." (".$_SERVER['SERVER_ADDR'].")] requested unblock\n", FILE_APPEND | LOCK_EX);
} else {
$alert = "error";
$message = $lang["recaptcha hostfail"] . ' ['.$responseData->hostname.' != '.$_SERVER['SERVER_NAME'].']';
file_put_contents($logfile,$date . "*Failed*, ReCaptcha (" . $_SERVER['REMOTE_ADDR'].": [".$_SERVER['SERVER_NAME']." (".$_SERVER['SERVER_ADDR'].")] does not appear to be hosted on this server\n", FILE_APPEND | LOCK_EX);
}
} else {
$alert = "error";
$message = $lang["recaptcha failure"];
file_put_contents($logfile,$date . "*Error*, ReCaptcha (" . $_SERVER['REMOTE_ADDR'].": $verifyResponse\n", FILE_APPEND | LOCK_EX);
}
} else {
$alert = "error";
$message = $lang["recaptcha error"];
}
echo '<div class="message message-' . $alert . '">' . $message . '</div>';
}
?>
<div class="note"><?php echo $lang["recaptcha note"]; ?></div>
<div class="support-link">
<a href="https://support.panomity.com" target="_blank">🎫 Need help? Contact Panomity Support</a>
</div>
</div>
<div class="footer">
Powered by <a href="https://panomity.com" target="_blank">Panomity</a> • Secure Hosting Solutions
</div>
</div>
</body>
</html>