Neděle , 6 Červenec 2025
Domů Programování HTML Návštěvní kniha Guestbook v PHP
HTMLPHPProgramování

Návštěvní kniha Guestbook v PHP

blank
blank

Jednoduchá návštěvní kniha v PHP se skládá z HTML šablony, PHP skriptu pro zpracování odeslaných zpráv a textového souboru pro ukládání zpráv. Následujte tyto kroky:

  1. Vytvořte PHP soubor s názvem guestbook.php:
<!DOCTYPE html>
<html lang="cs">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Návštěvní kniha</title>
</head>
<body data-rsssl=1>
  <h1>Návštěvní kniha</h1>

  <h2>Zanechte zprávu:</h2>
  <form action="guestbook.php" method="post">
    <label for="name">Jméno:</label>
    <input type="text" id="name" name="name" required>
    <br>
    <label for="message">Zpráva:</label>
    <textarea id="message" name="message" rows="4" cols="50" required></textarea>
    <br>
    <input type="submit" value="Odeslat">
  </form>

  <h2>Zprávy:</h2>
  <?php
  if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = htmlspecialchars($_POST['name']);
    $message = htmlspecialchars($_POST['message']);
    $date = date('Y-m-d H:i:s');
    $entry = "[$date] $name: $message" . PHP_EOL;

    file_put_contents('guestbook.txt', $entry, FILE_APPEND);
  }

  $messages = file('guestbook.txt', FILE_IGNORE_NEW_LINES);
  foreach ($messages as $msg) {
    echo '<p>' . $msg . '</p>';
  }
  ?>
</body>
</html>
  1. Vytvořte textový soubor s názvem guestbook.txt a umístěte jej do stejného adresáře jako guestbook.php. Tento soubor bude sloužit k ukládání zpráv od návštěvníků.

  2. Nahrajte guestbook.php a guestbook.txt na váš webový server s podporou PHP.

  3. Otevřete guestbook.php ve webovém prohlížeči.

Tato jednoduchá návštěvní kniha umožňuje uživatelům zadat své jméno a zprávu. Po odeslání formuláře se zpráva uloží do textového souboru guestbook.txt. Poté skript načte všechny zprávy z tohoto souboru a zobrazí je pod formulářem.

Tento kód je velmi základní a neobsahuje žádné ošetření chyb, ověřování uživatele nebo zabezpečení proti útokům, jako je například CSRF. Před použitím ve skutečném prostředí byste měli přidat další funkce a zabezpečení. Některé doporučené vylepšení zahrnují:

  1. Ověřování uživatele: Zvažte přidání ověřování uživatele, jako je například reCAPTCHA, aby bylo možné zabránit automatizovaným skriptům odesílat zprávy.

  2. Ošetření chyb: Přidejte ošetření chyb pro čtení a zápis do souboru, abyste zajistili, že se zprávy správně uloží a načtou.

  3. Ochrana proti CSRF útokům: Přidejte CSRF token do formuláře a zkontrolujte jeho platnost při zpracování odeslaných dat, abyste zabránili útokům CSRF.

  4. Sanitace a validace vstupu: Ačkoli tento příklad používá htmlspecialchars() pro základní sanitaci vstupu, můžete zvážit použití robustnějších metod pro sanitaci a validaci vstupu, aby bylo možné zabránit XSS útokům a dalším bezpečnostním hrozbám.

  5. Zálohování a omezení velikosti souboru: Soubor guestbook.txt může rychle narůst, pokud se do něj přidává mnoho zpráv. Zvažte pravidelné zálohování tohoto souboru a nastavení limitu na jeho velikost. Po dosažení limitu můžete buď přestat přijímat nové zprávy, nebo začít ukládat zprávy do nového souboru.

Při implementaci těchto doporučení zajistíte, že vaše návštěvní kniha bude bezpečnější a lépe připravena na použití v reálném prostředí.

Související články

blank
ProgramováníUmělá inteligence

Runway Game Worlds: Vytvářejte video hry s generativní AI

Runway Game Worlds: Vytvářejte video hry s generativní AI bez nutnosti programování...

blank
ProgramováníPython

PyCharm JetBrains IDE vývojové prostředí

🚀 Úvod PyCharm je špičkové integrované vývojové prostředí (IDE) od společnosti JetBrains,...

blank
ProgramováníStrojové učeníUmělá inteligence

Neuromorfní čipy vs. GPU/TPU

Top články Neuromorfní čipy vs. GPU/TPU 19. 6. 2025 Edge-AI v IoT:...

blank
HTMLOnline výpočtyPočítače a internet

🛡️ Kontrola zranitelnosti HTML formuláře

🛡️ Kontrola zranitelnosti kontaktního formuláře 🛡️ Kontrola zranitelnosti kontaktního formuláře 1️⃣ Vložte...

blank
×
Avatar
PetrPikora.com
AI Chatbot
Ahoj! Jak vám mohu pomoci?
 

Používáním tohoto chatbota souhlasíte se shromažďováním a používáním vašich dat, jak je uvedeno v našich Zásadách ochrany osobních údajů. Vaše údaje budou použity pouze jako pomoc s vaším dotazem.