Skip navigation

Videóleckék

Specifikáció és az alkalmazás bemutatása

Az alkalmazás, amin a fejlesztés menetét bemutatjuk a korábbi fejezetekben látott Fórum lesz. Az adatbázis tervezésén már túlvagyunk, hiszen ezekre láttunk példát a korábbi fejezetekben.

A tervezés során a modell-nézet-vezérlő (angolul Model-View-Controller, MVC) tervezési mintát használjuk. Az MVC tervezési minta szerint elkülönítjük az adatokat kezelő egységeket (=modell), a (grafikus) felhasználó felülethez kapcsolódó egységeket (=nézet), és az őket összekötő, és közöttük adatokat továbbító (=vezérlő) egységeket.

A Fórum alkalmazásba a felhasználó regisztrálhatják magukat. A regisztrált felhasználók bejelentkezve üzeneteket írhatnak, illetve kiválaszhatják, hogy mely hírfolyamokat követik, A fórum üzeneteit mindenki, a látogató, nem regisztrált felhasználók is olvashatják, de ők nem tudnak üzenetet írni, amíg be nem lépnek a rendszerbe.

A Fórum alkalmazás bemutatása

Sütik és munkamenetek

A sütik- és munkamenetek kezelését illetően jelen tananyagon belül csak részlegesen foglalkozunk, ugyanis ez a témakör inkább a rendszerfejlesztés valamint a webes alapú alkalmazásfejlesztés témaköréhez kapcsolódik szorosabban, de szemléletformáló szándékkal fontosnak tartjuk az itt leírtakat. Az Olvasó ebben az alfejezetben azt tanulhatja meg, hogy adatbázisokkal hogyan támogathatja a munkamenetek és sütik kezelését. Azzal, hogy az Olvasó nem csupán az alkalmazás szintjén kezeli a munkameneteket, fontos előrelépést tesz az általa fejlesztett adatbázisok és adatok biztonsága érdekében. A munkamenetek (sessions) kezelése elengedhetetlenül fontos a mai webes alkalmazásfejlesztésben. A legtöbb webes alkalmazásfejlesztésre használt nyelv, – mint például a PHP is – támogatja a munkamenetek kezelését. A munkamenet kezelés lényege, hogy a felhasználó a weboldalon végzett tevékenységeit munkamenetként tartjuk nyilván.  A munkameneteket létrehozhatjuk akkor, amikor a felhasználó meglátogatja az oldalt, vagy amikor belép egy webes felületű rendszerbe. A lépéseit, adatait munkamemenet változókban a webszerver tárolja. A munkamenet-változókban tárolt adatokat használhatjuk arra, hogy navigáljuk ot az oldalon, tegyünk elérhetővé számára új űrlapokat, felületeket. A munkamenetek létrehozásakor a rendszer minden munkamenethez egy új munkamenet azonosítót rendel, amelyet a szerveren tárol. A munkamenet során az alkalmazás eltárolhat bizonyos információkat ehhez a munkamenet-azonosítóhoz, például, hogy milyen oldalon állunk éppen, és ezen információ alapján felkínálhat a rendszer olyan lehetőségeket, hogy milyen oldalakra mehetünk tovább.

A sütik (cookies) is hasonló szerepet játszanak a webes alkalmazásokban, de nem a szerveren, hanem a kliensen tárolják az adatokat. Funkcióikat tekintve hasonlóan használhatóak az adatok tárolására, mint a munkamenetek.

Hogyan jutnak szerephez az adatbázisok a munkamenetek és a sütik kezelésében? Léteznek olyan hálózaton keresztüli támadások, amelyek a munkamenetek vagy sütik megszerzésére irányulnak, így a támadó a megszerzett munkamenet azonosítóval a vásárló vagy felhasználó „nevében” tud bizonyos műveleteket végrehajtani. Az adatbázisokkal úgy támogathatjuk a rendszer biztonságát, hogy a felhasználókhoz eltároljuk a munkamenetek azonosítóit és minden egyes alkalommal, amikor új oldalra lép ellenőrizzük, hogy az érvényben lévő munkamenet-azonosító megegyezik-e az adatbázisban eltárolt munkamenet-azonosítóval. Ezt a módszert sütik esetében is alkalmazhatjuk.

Regisztráció és bejelentkezés a Fórum alkalmazásba

Az alábbi videóleckében azt mutatjuk be, hogy hogyan tudunk új felhasználót regisztrálni a Fórum alkalmazásba, valamint hogyan kezeljük a bejelentkezéseket.

Bejelentkezés és regisztráció a Fórum alkalmazásba

Üzenetek írása és listázása a Fórum alkalmazásban

Az alábbi videóleckében azt mutatjuk meg, hogyan tudunk új üzeneteket írni a Fórum alkalmazásban, valamint hogyan tudjuk ezeket kilistázni.

Üzenetek írása és listázása a Fórum alkalmazásban

Forráskódok

A fenti példához tartozó forráskódokat az Olvasó innen töltheti le. Megjegyezzük, hogy ez egy egyszerűsített példa, éles alkalmazásokhoz alaposabb adatellenőrzés szükséges, amely kiváló lehetőséget biztosít az Olvasó szakmai fejlődéséhez.