Veškerá aktivita
- Last week
-
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
jenkings replied to DragoCZ's topic in Hledám/nabízím
Tak by třeba bylo řešením, aby se někdo ještě vložil do řetězce a zprostředkovával to. Pak by to hostovala čtvrtá strana a bylo by to OK - Earlier
-
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
ffredyk replied to DragoCZ's topic in Hledám/nabízím
Kvůli GDPR to nesmí hostovat třetí strana bez smlouvy, a to je i na mě moc velký hassle :D -
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
DragoCZ replied to DragoCZ's topic in Hledám/nabízím
Jo klidně :-) Není problém, chtěl jsem to navrhnout majitelovi že rád zahostuji nostalgii a vzpomínky z dětství :-D EDIT: Aspoň by tu třeba nemuselo být plno reklam :-D -
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
Fakerko_ replied to DragoCZ's topic in Hledám/nabízím
Třeba samotné Pawno.cz co? :D Třeba by fungovalo častěji :D -
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
ffredyk replied to DragoCZ's topic in Hledám/nabízím
No vidíš, reklamu už jsi si tu udělal, tak můžeš začít hostovat něco pro Pawno.cz :D :D -
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
DragoCZ replied to DragoCZ's topic in Hledám/nabízím
Kdyby někdo chtěl - rád zasponzoruji jakýkoliv projekt - herní / jiný. Klidně VPS, game hosting, webhosting atd výměnou za reklamu... Napište na https://discord.gg/xVFJFFz33e do PM -> DragoCZ.. :-) -
paullondon changed their profile photo
-
DDON joined the community
-
Tak proběhla ještě jedna migrace :D k tomu všemu jsem ještě dal pawno pod svou monitoring službu, tak případné pády zachytím co nejdříve
-
Invouk started following Proběhla migrace serveru
-
Ako keby to bola potreba
-
LCS_Laces changed their profile photo
-
LCS_Laces joined the community
-
ostatní NAUČTE SE PROGRAMOVAT (Polis strikes again)
Fakerko_ replied to Lukasz's topic in Všechno možné
Můžeš být rád, že to nebyl návod na to, jak otevřít dveře. Ani po sedmi letech by ses nedočkal návodu, jak ty dveře zavřít :D- 32 odpovědí
-
- html
- polismanovic
-
(a 3 další)
Tagged with:
-
DooM changed their profile photo
-
Kedy bude pokracovanie? Uz by som sa chcel konecne naucit programovat v HTML nech si mozem naprogramovat vlastny herny engine.
- 32 odpovědí
-
- html
- polismanovic
-
(a 3 další)
Tagged with:
-
PHP pro začátečníky: Vytvoření bezpečného kontaktního formuláře s validací a CSRF základy Tento článek ukazuje, jak postavit jednoduchý PHP backend pro zpracování kontaktního formuláře s důrazem na serverovou validaci, sanitaci vstupů a základní bezpečnostní praktiky (včetně ochrany CSRF a bezpečného odesílání e-mailů). Je určen jak pro začátečníky, tak pro profesionály, kteří chtějí své základy upevnit a ověřit správné postupy na praktické ukázce. Bezpečné zpracování vstupů na straně serveru Jako první pravidlo platí: nikdy neuspěcháme se zpracováním dat jen na straně klienta. Formulář může být upraven, hacknut, nebo zneužit. Zpracování vstupů by mělo probíhat na serveru, kde lze důkladně ověřit i ošetřit data před dalším použitím (odesláním e-mailu, uložením do databáze apod.). Základní kroky zahrnují validaci, sanitaci a bezpečné nakládání s výstupy. Ochrana CSRF a validace vstupů CSRF (Cross-Site Request Forgery) je útok, při kterém útočník podešle nekalý požadavek za vás. Abychom tomu zabránili, vygenerujeme náhodný token a vložíme ho do formuláře. Při zpracování požadavku pak token ověříme. Společně s CSRF tokenem provádíme také validaci a sanitaci vstupů (jméno, e-mail, zpráva). <?php // Základní nastavení CSRF tokenu session_start(); if (empty($_SESSION['csrf_token'])) { // Bezpečný náhodný token $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } // Shromáždění chyb $errors = []; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Ověření CSRF tokenu $postedToken = $_POST['csrf_token'] ?? ''; if (!isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $postedToken)) { $errors[] = 'Neplatný CSRF token.'; } // Získání a sanitace vstupů $name = trim($_POST['name'] ?? ''); $email = trim($_POST['email'] ?? ''); $message = trim($_POST['message'] ?? ''); // Validace if ($name === '') { $errors[] = 'Zadejte jméno.'; } if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = 'Zadejte platný e-mail.'; } if ($message === '' || mb_strlen($message) < 10) { $errors[] = 'Zpráva musí obsahovat alespoň 10 znaků.'; } // Sanitace pro výstup do e-mailu / okna $name = htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); $email = filter_var($email, FILTER_SANITIZE_EMAIL); $message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8'); if (empty($errors)) { // Bezpečné odesílání e-mailu $to = '[email protected]'; $subject = 'Nová zpráva z kontaktního formuláře'; $body = "Jméno: $name\nEmail: $email\n\nZpráva:\n$message"; // Důležité: From by měl být doménový email odpovídající serveru $headers = "From: Pawno.cz \r\n"; $headers .= "Reply-To: $email\r\n"; $headers .= "Content-Type: text/plain; charset=UTF-8"; if (mail($to, $subject, $body, $headers)) { echo 'Zpráva byla odeslána. Děkujeme!'; // Rotace CSRF tokenu po úspěšném odeslání $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } else { $errors[] = 'Nepodařilo se odeslat zprávu. Zkuste to prosím později.'; } } } ?> Další poznámka: i když je PHP mail() funkce jednoduchá, v produkčním prostředí se často doporučuje používat knihovny jako PHPMailer nebo SwiftMailer. Ty poskytují lepší správu odchozích emailů, bezpečnostní hlavičky a lepší viditelnost nad chybami odeslání. Praktické ukázky kódu Následují dva jednoduché příklady, které ilustrují principy zpracování formuláře a CSRF tokenů. HTML formulář s CSRF tokenem <form action="process_contact.php" method="post"> <label for="name">Jméno</label> <input type="text" id="name" name="name" required /> <label for="email">Email</label> <input type="email" id="email" name="email" required /> <label for="message">Zpráva</label> <textarea id="message" name="message" required></textarea> <input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token'], ENT_QUOTES, 'UTF-8'); ?>" /> <button type="submit">Odeslat</button> </form> PHP zpracování formuláře (zkrácená ukázka) <?php session_start(); // CSRF token initialization (opět, pokud není) if (empty($_SESSION['csrf_token'])) { $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } // Předpokládaná zpracovávaná data z POST $name = trim($_POST['name'] ?? ''); $email = trim($_POST['email'] ?? ''); $message = trim($_POST['message'] ?? ''); $postedToken = $_POST['csrf_token'] ?? ''; // CSRF validace $errors = []; if (!isset($_SESSION['csrf_token']) || !hash_equals($_SESSION['csrf_token'], $postedToken)) { $errors[] = 'Neplatný CSRF token.'; } // Validace vstupů if ($name === '') $errors[] = 'Zadejte jméno.'; if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) $errors[] = 'Zadejte platný email.'; if ($message === '' || mb_strlen($message) < 10) $errors[] = 'Zpráva musí mít alespoň 10 znaků.'; if (empty($errors)) { // Sanitace pro výstup $name = htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); $email = filter_var($email, FILTER_SANITIZE_EMAIL); $message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8'); $to = '[email protected]'; $subject = 'Nová zpráva z kontaktního formuláře'; $body = "Jméno: $name\nEmail: $email\n\nZpráva:\n$message"; $headers = "From: Pawno.cz \r\n"; $headers .= "Reply-To: $email\r\n"; $headers .= "Content-Type: text/plain; charset=UTF-8"; if (mail($to, $subject, $body, $headers)) { echo 'Zpráva byla odeslána.'; $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } else { $errors[] = 'Chyba při odesílání; zkuste to prosím později.'; } } ?> Tip pro začátečníky: vkládejte CSRF tokeny jen do skrytých polí formuláře a na straně serveru vždy ověřujte tokeny. Důležité je také minimálně sanitizovat vstupy a neukládat nebo nevracet nepřesně zpracované data přímo do HTML bez escapingu. Pokud řešíte složitější e-mailové šablony nebo odesílání na více adres, zvažte použití knihovny jako PHPMailer. Máte vlastní zkušenosti s bezpečným zpracováním formulářů v PHP? Podělte se o tipy, otázky nebo své zkušenosti v komentářích níže a zapojte se do diskuze s komunitou Pawno.cz!
-
Hip started following Proběhla migrace serveru
-
Nefunguje mi ACP -> Groups a mimo jine hromada dalsich veci v ACP
-
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
DragoCZ replied to DragoCZ's topic in Hledám/nabízím
Nazdaaar, napiš na FB.. někam ses mi vytratil. 😁 -
ffredyk started following Proběhla migrace serveru
-
Možná jste si všimli, že Pawno pár dní nefungovalo - zmršili jsme trochu migraci :D @Ewwe mi oznámil, že je potřeba přesunout pawno na nový server, já měl za úkol přehodit DNS záznamy na novou IP. Zmršil jsem to, protože Pawno jede přes cloudflare a já měnil DNS záznamy u registrátora.. No nic - další zádrhel bylo SSL a nyní nakonec ještě verze PHP Tento post je vlastně test, zda funguje to hlavní co tu fungovat ještě má - a to zdá se funguje - takže jedeme dál A děkuji @Ewwe že nás stále drží online
-
icedout started following Hledám pawnera pro SA-MP Gamemode
-
Ahoj, sháním pawnera pro předělání gamemodu který je již dostupný na internetu (samozřejmé zašlu), jedná se o CWTG Gamemode. Veškeré informace zašlu taktéž. Taktéž jistá je finanční odměna. Kontaktuje mě na discord: cavomohi
-
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
Pongo replied to DragoCZ's topic in Hledám/nabízím
Dragooo :D Zdaar Filipe :-D Ty se nudíš :D -
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
DragoCZ replied to DragoCZ's topic in Hledám/nabízím
Joo, pěkný časy. Btw._Daffy_ je tu ještě taky někde? 😅 -
hledám Hledáme testery a pomocníky pro rozjezd nového herního hostingu
Ingnition replied to DragoCZ's topic in Hledám/nabízím
Aha, v tom případě si na XEL a CRAZYHOST pamatuji. Sice matně ale pamatuji. Cool -
ukázka Paste It! & Upload It!
sakulmore replied to sakulmore's topic in Webový vývoj - PHP, ASP.NET, JS
Vďaka za feedback hoši. Max MB som upravil z 150 MB na 50 MB. Obmedzovať zatiaľ nebudem nič, uvidí sa časom ako to ľudia budú využívať (lepšie napísané zneužívať :D ) a potom prípadne podniknem nejaké kroky. -
Fakerko_ started following Paste It! & Upload It!
-
ukázka Paste It! & Upload It!
Fakerko_ replied to sakulmore's topic in Webový vývoj - PHP, ASP.NET, JS
Doporučuji stáhnout max file size na 50 MB a omezit počet obrázků od jednoho návštěvníka :D -
ukázka Paste It! & Upload It!
sakulmore replied to sakulmore's topic in Webový vývoj - PHP, ASP.NET, JS
Tak ono to predovšetkým slúži na nahrávanie "normálnych" obrázkov (napr. do 5 MB). Nemá to slúžiť ako miesto kde napr. nahráš obrázok z dovolenky v 8K rozlíšení :D . Je to skôr na také zdieľanie chybových hlášok (či z Windowsu, hier atď...) čiže skôr na také "bežné/normálne" obrázky. Nie 4K/8K. A ak neodpovedá (v tom slova-zmysle že sa stránka stále načítava) tak treba čakať. Ono sa to nahrá :D . -
normalne som tam isiel uploadnut 100MB jpeg a server neodpoveda :D

