Šablony webových stránek a php skriptů

  • php skripty
  • šablony www
  • Zaheslování více stránek pomocí PHP

    1. Zadání hesla

    Na to budeme potřebovat formulář. Jednoduchá záležitost, pokud vám tak nepřipadá, něco si o tom přečtěte.

    session_unset() - tím zrušíme všechny session, které by mohly ještě stále probíhat, aby nerušily právě náš průběh oprace

    formular-heslo.php

    <?php
     session_unset(); ?>
    <form action="uvod.php" method="post">
    Heslo: <input type="password" name="heslo" /><br />
    <input type="submit" value="OK" />
    </form>

    2. Ověření hesla

    Měli bychom ověřit, to co bylo zadáno na předchozí stránce. Spustíme session, kterou se bude předávat mezi stránkami authorizační údaj. Tento skript by měl být v dokumentu ještě před jakýmkoli HTML výstupem, aby se neprozradil ani kousiček ze skrývané stránky.

    uvod.php

    <?php
    $heslo = "1234"; /*nastavíme si heslo*/
    
    session_start();
    $pass = $_POST['heslo'];
    /*proměnná $pass se rovná tomu co bylo zadáno ve formulari na strane formular-heslo.php*/ 
           
    if (($pass == $heslo) or ($_SESSION['authuser'] == 1)) {
    
    	$_SESSION['authuser'] = 1;
    	/*pokud se zadané a stanovené heslo rovnají, můžeme nastavit session authuser =1, to se bude předávat do všech stránek a díky tomu budete mít také přístup k zaheslovaným stránkám; stránka se normálně načte; musíme také vytvořit možnost, že už bude někdo přihlášený a na úvodní stránku se vrátí proto použijeme-or-
    	(což znamená něco jako -nebo-)*/
    	}else {
    		echo "<p>Nemáte oprávnění k prohlížení této stránky</p>\n";
    		exit();
    		/*pokud se hesla rovnat nebudou, tak se vypíše echo  a pomocí funkce exit() se přestane stránka načítat*/
    		}
    ?>
         Tady už pokračuje obyčejná HTML stránka.. samozřejmě začnete znaky
         <HTML>....atd.

    3. Brouzdání zaheslovanými stránkami

    Musíte do nich vložit skript uvedený níže. Už se předává pouze $_SESSION['authuser'] = 1; takže stačí na každou zaheslovanou stránku vložit požadavek, že se má prověřit, zda se to rovná 1. A také se musí session předat dál, abyste se dostali na další stránku pod heslem.

    Tento skript stačí vložit na začátek každé stránky, která nemá být veřejně přístupná.

    strana2.php, strana3.php atd.

    <?php
    session_start();
    if ($_SESSION['authuser'] != 1) {
    	echo "<p>Nemáte oprávnění k prohlížení této stránky</p>\n";
    	exit();
    	}
    ?> 

    4. Odhlášení

    Protože jsme přes proměnnou authuser kontrolovali přihlášení, tak teď ji naopak jednoduše vynulujeme.

    odhlaseni.php

    <?php 
    session_start();
    $_SESSION['authuser'] = 0;
    exit();
    ?> 

    Jsme odhlášeni a konečně je na čase vyzkoušet jestli se na ty stránky nedostaneme i bez přihlášení. Zkuste to.. v příkladu po odhlášení k tomu máte ideální příležitost.

    Příklad

    Bystří si všimli, že jsem tady pod okny s kodem neuváděl "zobrazit příklad". Bylo by to asi zbytečné, protože pokud nejsou skripty pohromadě, tak téměř nic neznamenají.

    zobrazit příklad

    Stáhnout

    Jestli si chcete prostudovat skript, který jsem použil v příkladu, tak si ho stáhněte.

    Na závěr

    Je to lepší způsou jak si zaheslovat stránku, než ten původní. Dokonce vám umožní zaheslovat tak celou síť stránek.

    Příště až se budu zabývat zaheslováním, tak bych rád ukázal jak rozlišit uživatele. To už však bude určitě muset pracovat s databází.

    Pokud mi s tím chcete pomoct, ozvěte se.

    Maillist


    Přidáním mailu budete dostávat e-mailem nepravidelně informace o novinkách na tomto webu. Zrušit zasílání těchto informací je možné zde.

    Nově přidané stránky

    Tylova léta


    Obsah této stránky vyžaduje novější verzi aplikace Adobe Flash Player.

    Získat aplikaci Adobe Flash Player

    Autor: Otakar Hypš | výměna odkazů | mapa stránek | tisk | nahoru Reklama na auto | Burza učebnic GJKT | Hudební festival Tylova léta | fBrigády.cz - Brigády pro studenty CNW:Counter