http://gorbem.hu/PHP.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:

 

 

            Mindezeket megvalósítja a következő PHP kód:

 

            http://gorbem.hu/PH/vedettlap.php

 

<html>

<head>

<title>Védett lap</title>

</head>

<form name="" action="VedettLap.htm" 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ónak: sikerült a belépés.<br /><br />";

              print "Ön megfejtette, hogy 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>