403Webshell
Server IP : 193.86.120.172  /  Your IP : 216.73.216.215
Web Server : Apache/2.4.63 (Unix)
System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64
User : kubec ( 1026)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /volume1/web/hotellesnizatisi_cz/new/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /volume1/web/hotellesnizatisi_cz/new/kontakt-odeslat.php
<?php
// ============================================================
// Zpracování kontaktního formuláře z veřejného webu.
// Cílový e-mail se bere z administrace (Nastavení).
// ============================================================

require_once __DIR__ . '/includes/db.php';
require_once __DIR__ . '/includes/smtp.php';
require_once __DIR__ . '/includes/email-templates.php';

$lang = in_array($_POST['lang'] ?? '', ['cs', 'en', 'de'], true) ? $_POST['lang'] : 'cs';
$redirectBase = $lang === 'cs' ? './' : $lang . '/';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: ' . $redirectBase);
    exit;
}

// Honeypot — skryté pole, lidé ho nevyplní, boti často ano.
// Tváříme se navenek jako úspěch, ať bota nenavádíme k dalším pokusům.
if (!empty($_POST['web'])) {
    header('Location: ' . $redirectBase . '?kontakt=ok#kontakt');
    exit;
}

function clean_field(string $s): string
{
    return trim(str_replace(["\r", "\n"], ' ', $s));
}

$jmeno = clean_field($_POST['jmeno'] ?? '');
$email = clean_field($_POST['email'] ?? '');
$telefon = clean_field($_POST['telefon'] ?? '');
$predmet = clean_field($_POST['predmet'] ?? '');
$zprava = trim($_POST['zprava'] ?? '');

if ($jmeno === '' || $email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
    header('Location: ' . $redirectBase . '?kontakt=chyba#kontakt');
    exit;
}

$stmt = db()->prepare('SELECT hodnota FROM web_nastaveni WHERE klic = ?');
$stmt->execute(['kontakt_email']);
$to = $stmt->fetchColumn() ?: 'lesni.zatisi@email.cz';

// E-mail pro hotel
$hotelMail = build_hotel_notify_email($jmeno, $email, $telefon, $predmet, $zprava);
$ok = smtp_send_mail($to, $hotelMail['subject'], $hotelMail['text'], $hotelMail['html'], $email, $jmeno);

// Skrytá kopie pro webmastera (jen pokud je v Nastavení zapnutá — viditelné pouze adminovi)
if ($ok) {
    $bccStmt = db()->prepare("SELECT klic, hodnota FROM web_nastaveni WHERE klic IN ('bcc_email', 'bcc_aktivni')");
    $bccStmt->execute();
    $bccSettings = [];
    foreach ($bccStmt->fetchAll() as $row) {
        $bccSettings[$row['klic']] = $row['hodnota'];
    }

    if (($bccSettings['bcc_aktivni'] ?? '0') === '1'
        && !empty($bccSettings['bcc_email'])
        && filter_var($bccSettings['bcc_email'], FILTER_VALIDATE_EMAIL)
    ) {
        smtp_send_mail($bccSettings['bcc_email'], '[Kontrola webu] ' . $hotelMail['subject'], $hotelMail['text'], $hotelMail['html']);
    }
}

// Potvrzovací kopie zákazníkovi (best-effort — neovlivní hlášku o úspěchu hlavní zprávy)
if ($ok) {
    $customerMail = build_customer_confirm_email($lang, $jmeno, $predmet, $zprava);
    smtp_send_mail($email, $customerMail['subject'], $customerMail['text'], $customerMail['html'], $to, 'Hotel Lesní zátiší');
}

header('Location: ' . $redirectBase . '?kontakt=' . ($ok ? 'ok' : 'chyba') . '#kontakt');
exit;

Youez - 2016 - github.com/yon3zu
LinuXploit