Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaBrigitta Szabóné Megváltozta több, mint 10 éve
1
Fejlesztés PHP-NUKE portál rendszerre Horváth Zoltán horvath.zoltan@netkey.hu Második Magyarországi PHP Konferencia 2004. március 27. Copyright PHP Konferencia, 2004, Horváth Zoltán
2
Tartalomjegyzék Bevezetés Adatbázis-tervezés és implementáció Felhasználói felület Adminisztrációs felület Biztonság
3
Bevezetés
4
Bevezetés Teendők a fejlesztés előtt: igényfelmérés elvárások meghatározása rendelkezésre álló fejlesztői eszközök az üzemeltetés helye
5
Bevezetés Gyakorlati példa: egyszerű Kvíz modul Az előadás célja: modulkészítés lépéseinek megismerése PHP-Nuke rendszerbe történő beillesztése
6
Adatbázis-tervezés és implementáció és implementáció
7
Adatbázis-tervezés és implementáció Struktúra megtervezése Adattáblák kialakítása Kapcsolatok és beállítások
8
Adatbázis-tervezés és implementáció Kvíz modul adattábla (logikai terv): idEgyedi azonosító questionKvíz kérdés option1Válaszlehetőség 1 option2Válaszlehetőség 2 option3Válaszlehetőség 3 option4Válaszlehetőség 4 correct_optionHelyes válasz sorszáma (1-4)
9
Adatbázis-tervezés és implementáció Megvalósítás MySQL rendszerben (fizikai) Integráció módja: Automatizált módon Manuálisan
10
Adatbázis-tervezés és implementáció A nuke_kviz adattáblát létrehozó SQL parancs: CREATE TABLE `nuke_kviz` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT, `question` VARCHAR( 255 ) NOT NULL, `option1` VARCHAR( 100 ) NOT NULL, `option2` VARCHAR( 100 ) NOT NULL, `option3` VARCHAR( 100 ) NOT NULL, `option4` ( 100 ) NOT NULL, `correct_option` INT( 1 ) NOT NULL, PRIMARY KEY ( `id` ) );
11
Felhasználói felület
12
Fájlok elhelyezése: ‘modules/Kviz’ alkönyvtár létrehozása Modul fő állománya: ‘index.php’ Egyéb fájlok
13
Felhasználói felület Kapcsolatteremtés a PHP-NUKE rendszerrel: A fájl direkt elérését megakadályozandó: A rendszermotor betöltése: if (!eregi("modules.php", $_SERVER['PHP_SELF'])) { die ("You can't access this file directly...");} require_once("mainfile.php");
14
Felhasználói felület Modulnév meghatározása: Nyelvi fájl megnyitása: Keretrendszer megjelenítése (fejléc és bal oldali blokkok): $module_name = basename(dirname(__FILE__)); get_lang($module_name); include("header.php");
15
Felhasználói felület Saját program elemek Keretrendszer (jobb oldali blokkok és lábléc): $index=0; include("footer.php");
16
Felhasználói felület Nyelvi fájlok elhelyezése: ‘modules/Kviz/language’ könyvtár létrehozása Magyar nyelvű fájl: ‘lang-hungarian.php’ További nyelvek fájljai
17
Felhasználói felület Felhasználói felület aktiválása és elérése: Modul bekapcsolása A Kvíz modul elérése: ‘modules.php?name=Kviz’
18
Adminisztrációs felület
19
Fájlok elhelyezése: Adminisztrációs modul: ‘admin/modules/kviz.php’ Admin modul meghívása: ‘admin/case/case.kviz.php’ Link az admin menüben: ‘admin/links/links.kviz.php’ Nyelvi fájlok helye: ‘admin/language/’
20
Adminisztrációs felület Kapcsolatteremtés: a fájl direkt hívását megakadályozandó: Az admin jogok lekérdezése: if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); } $aid = trim($aid); $result = sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'", $dbi); list($radminsuper) = sql_fetch_row($result, $dbi);
21
Adminisztrációs felület A lekért jogosultságok vizsgálata: Saját programrészek A jogosultságvizsgálat másik ága: if ($radminsuper==1) { } else { echo "Access Denied"; }
22
Biztonság
23
Biztonság Biztonsági kérdések: Biztonságos működés Illetéktelenekkel szembeni védelem: A modul megfelelő beillesztésével ez elérhető
24
Biztonság Biztonságos működés: Az elvárt funkciókat valósítja meg Vissza nem fordítható tevékenységekről megerősítést kér Kellő mennyiségű információt közöl
26
Összefoglalás
27
Köszönöm Horváth Zoltán horvath.zoltan@netkey.hu
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.