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 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ó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\" /> ";
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
Megjegyzés küldése