130 likes | 226 Views
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar zoltan.illes@elte.hu. Ami eddig volt…. Web programozás jelentése Kliens-Szerver együttműködés(SSI,CGI) Interaktív HTML elemek Kliens programok Javascript Szerver oldal Schell script PHP nyelvi elemek. File Input Output.
E N D
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar zoltan.illes@elte.hu
Ami eddig volt… • Web programozás jelentése • Kliens-Szerver együttműködés(SSI,CGI) • Interaktív HTML elemek • Kliens programok • Javascript • Szerver oldal • Schell script • PHP nyelvi elemek
File Input Output • $file=fopen(filenév, mód); • Mód=r, w, r+, w+ ,a , a+ (append) • fclose($file); • $karakter=fgetc($file); • $sor=fgets($file); • $sor=fread($file,50); //bináris olvasás • If (!fwrite($file,$sor)) …; // hiba • fputs($file,$sor) az fwrite alias utasítása • feof($file) file végén vagyunk-e
Adatbázis elérés • Kapcsolat nyitás • $con=mysql_connect($host,$user,$pw); • If (!$con) die(”Volt jobb!”); • $con=mssql_connect($host,$user,$pw); • Lekérdezés • $e=mysql_query(”select * from foci”); • $e eredmény tábla feldolgozása • Kapcsolat zárás • mysql_close();
Süti beállítás • time(); // visszaadja 1970 óta az eltelt másodperceket • A hívást a file elejére kell tenni! • setcookie(”alma”,”jonatán”,time()+20*60); • Paraméterek: név, érték, lejárati idő • Csak az első paraméter megadása kötelező • 20 percig él az alma bejegyzés • Van még 4 paramétere:path, domain, secure, httponly • Ha az idő elmarad, akkor ideiglenes a süti. (memória)
Süti olvasás • $HTTP_COOKIE_VARS vagy $_COOKIE asszociatív tömbök • Első kéréskor az állomány által beállított süti még nem látszik. • If (isset($HTTP_COOKIE_VARS[„alma”]) {print(„Be van állítva az alma süti!”;} else {print(„Nincs beállítva!”);}
Header függvény • Sütihez hasonlóan a file elején van. • Header(„WWW-Authenticate: Basic”); • Header(„HTTP/1.1 404 Nincs ilyen”); • Header(„Location: http://sulinet.elte.hu/”); • Ennél egy exit is hasznos. • header("Location: ".$_SERVER['PHP_SELF']); • Header(Cache-Control: no-cache, must-revalidate”); • Header(„Expires: Mon, 1 jul 1970 00:00:00 GMT”); • Header(„Content-type: image/gif”); • Header(‘Content-Disposition: attachment: filename=„„zoli.gif’); • Readfile(„zoli.gif”); //kiírja a file tartalmat
Hitelesítés, jelszó védelem • Adott könyvtárra érvényes, ha .htaccess file létezik a könyvtárban (speciális forma) • htpasswd, basic, kódolás nincs • /usr/freeware/apache/bin könyvtárban • Használat: htpasswd [-c] filenév usernév • -c filenév új állomány lesz • Megkérdezi a jelszót, majd a névvel együtt a file-ba rakja kódolva a jelszót • Példa: letolt könyvtár • htdigest, MD5 kódolás • Használat: htdigest [-c] filenév azonosító usernév • IE nem bírja …, FireFox igen.
.htaccess tartalom • AuthType Basic • AuthName "Gyumolcsfa gyujtemeny" • AuthUserFile /usr/people/illes/public_html/letolt/alma • Require user alma • Order deny,allow • Deny from all • Allow from elte.hu • Satisfy any
Hitelesítés • Először • normál login form • vagy header(WWW-Authenticate) küldés; • $_SERVER['PHP_AUTH_USER'] • $_SERVER['PHP_AUTH_PW'] • Pw.php.txt • További oldalak ? • Session definiálás, session_start(); • PHPSESSID süti jön létre, php.ini szerint • $HTTP_SESSION_VARS['alma'] • Sess1.php, sess2.php
És még rengeteg könyvtári lehetőség • include („konyvtar1.php”); • Egymásba ágyazhatók • HTML-t is beszúrhatunk (PHP-HTML szétválasztás) • Include(„kezd.html”); • Include(„befejez.html”); • include_once(„modul.php”) • Levelezés függvények… • Példa: sulinet-rgazda.php • Hálózati kapcsolatok… • Stb. • A http://www.php.net/manual oldalon!!!
Példák • Irx.inf.elte.hu/ • Elso.php.txt • Letolt.php.txt • Masodfok.php • Pw.php.txt • Sess1.php.txt • Webprfeladatok.doc
Köszönöm a figyelmet! Illés Zoltán Budapest, Pázmány Péter sétány 1/c Zoltan.Illes@elte.hu