Védett tartalom létrehozása (PHP)

 Védett lap

 

Tegyük fel, hogy egyetlen lapot szeretnénk védetté tenni, illetéktelenek elől elrejteni. Mivel egy PHP oldal nem letöltődik, hanem végrehajtódik, és a benne foglaltak szerint létrejövő Weblap jelenik meg a felhasználó böngészőjében, egyszerűen a PHP kódba a jelszót beírhatjuk, azt senki nem fogja látni. Csak akkor generáltatjuk majd a védett lapot, ha a felhasználó helyes jelszót írt be bejelentkezéskor. Megnehezíthetjük az illetéktelenek számára a hozzáférést, ha a jelszót például dátumtól függően állítjuk elő. Tegyük fel továbbá, hogy meg szeretnénk tudni, mikor léptek be a felületre a titkos jelszóval. Vagyis készüljön egy regisztrációs állomány is, melyből a mesterjelszóval rendelkező kiolvashatja a bejelentkezések időpontját. Nézzük meg, hogyan is valósíthatók meg ezek.

 

Az belépési felület igen egyszerű:

Ha a jelszót helyesen beírtuk és kattintottunk a Belépés gombon ezt láthatjuk:


Ha a mesterjelszóval lépünk be, akkor a bejelentkezések időpontjait láthatjuk:

az index.php tartalma:

<html>

<head>

<title>Védett lap</title>

</head>

<form name="" action="index.php" method="POST">

<input type="submit" name="vissza" value="Vissza" />

</form>

<body>

<?php

     $datum = getdate();

    

     $ido = date('Y-m-d H:i:s');

     $ma = $datum['mday'];

     if ( $ma<10 ){$lpass = "Silbak"."0".$ma;}else{$lpass = "Silbak".$ma;}

    

     $adminpsw = "tavasz";

    

     if ( isset($_POST['login']) && (isset($_POST['lpw'])) && ($_POST['lpw'] == $lpass) || ($_POST['lpw'] == $adminpsw) ){

         if ( $_POST['lpw'] == $lpass){

              $fname = "llogin.html";

              $fp = fopen($fname,'a');

              fwrite($fp,'Login: '.$ido.'<br />');

              print "<center>";

              print "<h2><u>Ez itt a védett tartalom.</u></h2>";

              print "</center>";

              print "<blockquote><b>";

              print "Üzenet a látogatónaksikerült a belépés.<br /><br />";

              print "Ön megfejtettehogy a megadott jelszót a mai dátummal kellett kiegészíteni.";

              print "</blockquote></b>";

         }

         if ( $_POST['lpw'] == $adminpsw){

              header("location: llogin.html");

         }

     }

     else{

         print "<form name=\"\" action=\"\" method=\"POST\">";

         print "<b>Jelszó: </b>";

         print "<input type=\"password\" name=\"lpw\" size=\"12\" /> &nbsp; &nbsp;";

         print "<input type=\"submit\" name=\"login\" value=\"Belépés\"/>";

         print "</form>";

     }

?>

</body>

</html>



Valamint a llogin.html forrása:


<html>

<head>

<title>Login</title>

</head>

<form name="" action="index.php" method="POST">

<input type="submit" name="vissza" value="Vissza" />

</form>

<body>

<h2>Felhasználói belépések:</h2><br />

Login: 2016-02-17 21:27:09<br />

Login: 2016-02-17 21:28:54<br />

Login: 2016-02-17 21:51:18<br />

Login: 2016-09-16 00:43:26<br />

Login: 2019-12-10 14:37:43<br />

Login: 2021-06-03 10:36:06<br />

Login: 2021-06-20 17:27:39<br />


A szombati feladat folytatása:


Feladat: (Smurf adatbázis) (PHPmyAdmin)
Hozza létre a "torpek" táblát az alábbi mezőkkel
     torpek (id, nev, klan, nem, suly, magassag)
          id egész szám, a törpe azonosítója, elsődleges kulcs
          nev szöveges,  a törpe neve
          klan szöveges, a törpe klánjának neve
          nem szöveges, a törpe neme
          suly szám, a törpe súlya
          magassag szám, a törpe testmagassága


Amennyiben nem menne egy kis help :) 
CREATE TABLE `Smurf`.`torpek`
( `id` INT(3) NOT NULL AUTO_INCREMENT ,
`nev` VARCHAR(30) NOT NULL ,
`klan` VARCHAR(30) NOT NULL ,
`nem` VARCHAR(1) NOT NULL ,
`suly` INT(3) NOT NULL ,
`magassag` INT(3) NOT NULL ,
PRIMARY KEY (`id`)) ENGINE = InnoDB;



Kicsit gyorsítsunk az adatfeltöltéshez :)


INSERT INTO torpek (id, nev, klan, nem, suly, magassag) VALUES
    (1, 'Terrin Sak', 'Kova', 'F', '62', '130'),
    (2, 'Bal Eraffa', 'Vasököl', 'N', '45', '129'),
    (3, 'Sarsi Duri', 'Vasököl', 'F', '59', '141'),
    (4, 'Dorf Gein', 'Csille', 'F', '62', '138'),
    (5, 'Bombur Nori', 'Kova', 'N', '48', '132'),
    (6, 'Dorf Loopa', 'Csille', 'F', '63', '140'),
    (7, 'Trad Magraimn', 'Acél', 'F', '67', '138'),
    (8, 'Tardi Falgorran', 'Csille', 'F', '65', '140'),
    (9, 'Lok Dun', 'Acél', 'F', '70', '142'),
    (10, 'Sarrof Hro', 'Kova', 'F', '65', '137'),
    (11, 'Gor Morf', 'Csille', 'F', '58', '135'),
    (12, 'Heimal Morf', 'Vasököl', 'F', '61', '144'),
    (13, 'Odi Duri', 'Kova', 'F', '64', '145'),
    (14, 'Hardi Oggi', 'Vasököl', 'F', '64', '137'),
    (15, 'Bal Rian', 'Acél', 'N', '48', '134'),
    (16, 'Tor Edda', 'Vasököl', 'F', '61', '135'),
    (17, 'Forf Orsan', 'Csille', 'N', '50', '140'),
    (18, 'Krof Erag', 'Vasököl', 'N', '45', '145'),
    (19, 'Azul Luer', 'Vasököl', 'N', '43', '141'),
    (20, 'Forf Sak', 'Acél', 'F', '60', '146'),
    (21, 'Krof Glueggi', 'Kova', 'F', '62', '135'),
    (22, 'Tor Zian', 'Vasököl', 'N', '51', '138'),
    (23, 'Darrin Surroc', 'Acél', 'N', '48', '139'),
    (24, 'Nallid Grai', 'Vasököl', 'F', '58', '138'),
    (25, 'Lok Gran', 'Acél', 'F', '67', '140'),
    (26, 'Sarraain Sugran', 'Kova', 'F', '66', '138'),
    (27, 'Dorrin Dars', 'Csille', 'F', '68', '144'),
    (28, 'Nallid Fars', 'Vasököl', 'F', '71', '143'),
    (29, 'Dor Gerri', 'Kova', 'F', '69', '138'),
    (30, 'Darrin Rudga', 'Acél', 'F', '90', '140');



A feldatot pedig webesen kérem megoldani (PHP, CSS, HTML elemekkel)
Lekérdezések:
1.) Az egész táblát kérem megjeleníteni
2.) Ki a legmagasabb törpe, és hány centiméter?
3. Hány nő van a törpék között?
4. Jelenítsd meg a klánokat, minden klán csak egyszer szerepelhet, ABC sorrendben!
5. TOP 3 magasság szerint rendezve jelenítsük meg a törpék nevét és magasságát. (segítség limit 3)





Megjegyzések

Népszerű bejegyzések ezen a blogon

Ágazati alapvizsga (Programozás)

Ágazati alap vizsga (WEB)

HTML + CSS (elmélet+gyakrolat)