Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaAlajos Pataki Megváltozta több, mint 10 éve
1
Portálrendszerek és biztonság Bártházi András barthazi.andras@wish.hu Első Magyarországi PHP Konferencia 2003. március 29. Copyright PHP Konferencia, 2003, Bártházi András
2
Portálrendszerek és biztonság Miről fog szólni az előadás? Mit? Mit ne? Hogyan? Mit értek portálrendszer alatt?
3
Mit? (portálrendszer elemek) Miből áll egy portálrendszer? Paraméter kezelés Munkamenet kezelés Adatbázis kezelés Sablon kezelés Jogosultság kezelés Stb.
4
Mit? (portálrendszer elemek) Paraméter kezelés Mit jelent? Milyen paramétereink lehetnek? A PHP segít nekünk Paraméterek Az oldal
5
Mit? (portálrendszer elemek) Munkamenet kezelés Mi ez és miért kell? Hogyan működik?
6
Mit? (portálrendszer elemek) Adatbázis kezelés Már kis rendszereknél is kellhet Amikor nem elég a PHP függvénykészlete Nem szeretnénk elkötelezni magunkat Nem szeretnénk megírni olyat, amit már más megírt Az alternatívák ADODB (http://php.weblogs.com/ADODB) Pear::DB (http://pear.php.net/)
7
Mit? (portálrendszer elemek) Sablon kezelés Mi az a sablon, mire jó? Lásd későbbi előadás a mai napon
8
Mit? (portálrendszer elemek) Jogosultság kezelés Authentikáció (hitelesítés, igazolás) Authorizáció (felhatalmazás, meghatalmazás, engedélyezés) Felhasználó azonosítás Egyed azonosítás Jogosultsági rendszerek Csoport alapú (GUEST, USER, ADMIN...) Jog alapú (adott tábla sorának módosítása, törlése, hozzáadása...) Szabály alapú (főszerkesztő, újságíró, rendszergazda...)
9
Mit? (portálrendszer elemek) Mit? Láttuk, hogy mik az alapelemei egy rendszernek Tovább is lenne... Lássuk, hogy mit ne?
10
Mit ne? (a rossz példák) PHP: egyszerűség vs. Biztonság Az előző előadásban bemutatott egyszerűség hátrány is Bárki írhat PHP programot Nem egyértelmű, mindenki által ismert függvény paraméterezések, lehetőségek
11
Mit ne? (a rossz példák) Csak globális változókat ne! (register_globals=on) <? if ($jelszo=='PHP') { $belepett=1; } […] if ($belepett==1) { print “Érzékeny információ kiírása”; } ?>
12
Mit ne? (a rossz példák) Ellenőrizzünk! De ne így! (bármi futtatható) <? if (!file_exists($stilus)) { print “Nincs ilyen stilus!”; } else { include($stilus); } ?>
13
Mit ne? (a rossz példák) Ellenőrizzünk! Még mindig ne így! (bármi feltölthető) <? if (!file_exists($stilus)) { print “Nincs ilyen stilus!”; } else { include($stilus); } ?>
14
Mit ne? (a rossz példák) Filekezelés hátrányai (Linux alatt működik csak) <? if (!($h=fopen($oldal,”r”)) { print “Nem sikerült megnyitni a $oldal állományt!”; } else { print $fejlec.$oldal.$lablec; } ?>
15
Mit ne? (a rossz példák) SQL beszúrás (alaphiba) <? $dbjelszo = mysql_query ("SELECT password WHERE user='$azonosito'"); if ($dbjelszo==$azonosito) { $belepve=1; } else { $belepve=0; } ?>
16
Hogyan? (szabályok, beállítások) Ne bízzunk a kívülről jövő paraméterekben! Ne írjunk ki semmit ellenőrizetlenül! A web gyökerén belül csak hívások legyenek! Figyeljük a PHP biztonsági hibáit (php-announce lista)
17
Hogyan? (szabályok, beállítások) Program bemenetére az jött és onnan, amit vártunk? Program kimenetére az megy, amit oda szántunk? Adatbázisba az megy, amit oda szántunk? Programok paraméterének az megy, amit oda szántunk? Használjunk már bizonyított kódokat! Legyen több ponton is védett a rendszer! Nem tudnak róla? Attól még ott van! Csak annyi jogot adjunk, amennyi szükséges!
18
Hogyan? (szabályok, beállítások) register_globals=off safe_mode=on open_basedir beállítása display_errors=off log_errors=on allow_url_fopen kikapcsolása upload_tmp_dir beállítása is_uploaded_file használata move_uploaded_file használata
19
Hogyan? (szabályok, beállítások) Biztonsági védelem a modulka építve Paraméter kezelés Munkamenet kezelés Adatbázis kezelés Sablon kezelés Jogosultság kezelés Stb.
20
Linkek Végezetül két link: (lásd CD melléklet) http://www.owasp.com http://www.securereality.com.au/studyinscarlet.txt
21
Köszönöm! kérdések: konferencia@wish.hu
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.