Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)



Podobne dokumenty
INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Internetowe bazy danych

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Systemy internetowe Wykład 3 PHP

Wprowadzenie do Internetu Zajęcia 5

Zmienne i stałe w PHP

Programowanie w Internecie

TIN Techniki Internetowe zima

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Wybrane działy Informatyki Stosowanej

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Ktedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Języki skryptowe - PHP. Podstawy PHP. Paweł Kasprowski. pawel@kasprowski.pl. vl07

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

Zajęcia 10 obsługa formularzy w PHP

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Internetowe bazy danych

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

Bazy Danych i Usługi Sieciowe

Należy ściągnąć oprogramowanie Apache na platformę

Aplikacje WWW - laboratorium

I.Wojnicki, Tech.Inter.

Aplikacje internetowe - laboratorium

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Szczegółowy opis zamówienia:

Podstawy technologii WWW

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Technologie internetowe

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.

Drobne błędy w portalach WWW

FORMULARZE. G. Przęczek

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

PHP5. Praktyczny kurs

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Laboratorium 1 Wprowadzenie do PHP

Programowanie w Internecie

Bazy danych i strony WWW

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Aplikacje WWW - laboratorium

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Język PHP. Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe. v1.7, 2007/11/23

Przekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł:

Komunikacja między klientem, a skryptem PHP, oraz operacje na plikach

Bezpieczeństwo systemów komputerowych

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

The OWASP Foundation Session Management. Sławomir Rozbicki.

Programowanie internetowe

HTML ciąg dalszy. Listy, formularze

Plan. Stan sesji (1/2) Stan sesji (2/2) Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem

Wykład 03 JavaScript. Michał Drabik

Aplikacje WWW Wprowadzenie

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

POLITYKA PRYWATNOŚCI SERWIS:

Aplikacje WWW - laboratorium

Polityka prywatności dla strony ELCEN Sp. z o.o. z siedzibą w Gdyni

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Cookie Policy. 1. Informacje ogólne.

Formularze. 1. Formularz HTML

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Technologie internetowe ASP.NET Core. Paweł Rajba

Aplikacje internetowe

PHP: bloki kodu, tablice, obiekty i formularze

Laboratorium nr 4 - Badanie protokołów WWW

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Aspekty bezpieczeństwa aplikacji internetowych

REFERAT O PRACY DYPLOMOWEJ

Bazy Danych i Usługi Sieciowe

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Aplikacje WWW i PHP - opis przedmiotu

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Ćwiczenie: JavaScript Cookies (3x45 minut)

Kurs WWW. Paweł Rajba

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

Aplikacje internetowe

Transkrypt:

Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar)

Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne, Javascript wzbogacający interakcję z użytkownikiem Zawartość dynamiczna kod PHP Wykorzystanie języka skryptowego PHP w celu dynamicznego ładowania zawartości do warstwy prezentacji, Wykorzystanie PHP w celu dostępu do informacji przechowywanych w bazie (np. MySQL, Postgres, Oracle) bądź też w plikach (np. XML), Wykorzystanie PHP w celu implementacji logiki biznesowej aplikacji Wykorzystanie PHP w celu generowania zawartości częściowej storny (np. dla żądań Ajax)

PHP dobre zwyczaje <?php?> - dlaczego nie <??> Stosowanie wcięć W przypadku wstawek (instrukcji jednolinijkowych generujących układ strony) wykorzystanie rozbudowanej formy instrukcji Zamiast: <?php foreach ($i in $table):?> <?php endforeach;?> <? foreach($i in $table){?> <? }?>

PHP typowy projekt Logiczny podział aplikacji na standardowe pliki biblioteczne, pliki bibliotek użytkownika, pliki użytkowe, oraz wstawki. Importowanie plików przy pomocy instrukcji require/require_once oraz include/include_once Definiowanie nawigacja pomiędzy stronami. Parsowanie i interpretacja otrzymanych parametrów (GET, POST) po stronie serwera

Warstwy aplikacji internetowej MVC Model View Controller

PHP HTTP features Redirect HTML <meta HTTP-EQUIV= REFRESH content= 0; url= http://www.eti.pg.gda.pl /> PHP header( Location: http://www.eti.pg.gda.pl ) $_POST, $_GET, $_SESSION Ograniczenia dla długosci przesyłanych danych

Przekazywanie parametrów Przekazywanie parametrów pomiędzy żadaniami odbywa się przy pomocy poleceń GET oraz POST, Parametry oraz ich wartości znajdą się w tablicach asocjacyjnych $_GET oraz $_POST. W przypadku (błędnej konfiguracji!!!) możliwe jest także odwołanie się do tych parametrów jako do zmiennych kodu PHP (register_globals = off!!)

$_GET W przypadku, gdy parametry żądania przekazywane są od klienta przy pomocy metody GET, trafiają one do tablicy asocjacyjnej $_GET http://www.eti.pg.gda.pl/index.html?q=szukaj $_GET[ q ]= szukaj ;

Formularze Z reguły służą do przesyłania parametrów przy pomocy metody POST Zapewniają zaawansowaną interakcję z użytkownikiem Typy w formularzu input type text password, hidden, select, textarea, itp. <form action= nazwa_skryptu.php method= post/get > </form> Enctype typ zawartości (np. multipart/form-data do przesyłania plików)

$_POST W przypadku wysłania parametrów przy pomocy metody POST, znajdą się one w tablicy asocjacyjnej $_POST w postaci <form method= post action= http://www.eti.pg.gda.pl/index.php > <input type= text name= q value= szukaj /> <input type= submit value= Wyślij /> </form> $_POST[ q ] = szukaj ;

$_SESSION Znajdują się tutaj wartości przypisane w ramach sesji użytkownika Sesja jest tymczasowym zbiorem danych istniejącym dopóki nie zostanie wyłączona przeglądarka, bądź nie minie czas jej wygaśnięcia (konfigurowalne z poziomu php.ini) Mechanizm nieodłączny w tworzeniu aplikacji internetowych (wymagających np logowania bądź przechowywania koszyka)

$_SESSION imitacja stanowości Zachowanie wartości parametrów w czasie nawigowania po stronie imitacja stanowości Set-Cookie: name=value; domain=domain.name; path=path-within-server; [secure] Cookie: klucz1=wartość1; klucz2=wartość2;...

$_SESSION - php.ini session.name session.use_only_cookies session.cookie_lifetime session.auto_start session.gc_maxlifetime session.cookie_lifetime

$_SESSION Możliwość wykorzystania mechanizmu sesji wymaga na samym początku skryptu PHP wywołania funkcji session_start(). <?php session_start(); $_SESSION['zmienna1']= warość ; $_SESSION['zmienna2']=2;?> <?php session_start(); echo $_SESSION['zmienna1']; echo $_SESSION['zmienna2'];?>

$_REQUEST Tablica zbiorcza - zawiera zarówno parametry przekazane przy pomocy $_GET, $_POST, $_COOKIE, $_SESSION Stosowana, gdy dla logiki biznesowej nie ma znaczenia sposób dostarczenia wartości dla danej zmiennej

$_SERVER Zmienne, którym przypisane zostały informacje dotyczące obsługi żądania po stronie serwera $_SERVER['PHP_SELF'] aktualnie wykonywany skrypt, ścieżka względna $_SERVER['REQUEST_METHOD'] metoda, przy pomocy której wygenerowano żądanie $_SERVER['QUERY_STRING'] zawartość URL po znaku? $_SERVER['REMOTE_ADDR'] adres IP klienta $_SERVER['HTTP_USER_AGENT'] informacje dotyczące przeglądarki klienta $_SERVER['HTTP_REFERER'] stona, z której został wywołany zasób

$_FILES & $_ENV $_FILES - W przypadku ustawienia w formularzu enctype= multipart/form-data znajdują się tutaj pliki typu: <input type= file name= polepliku /> $_FILES['polepliku'] $_ENV - zmienne, którym przypisywane są wartości w obrębie środowiska

$_COOKIE Set-Cookie: <name>=<value>[; expires=<date>][; path=<path>] [; domain=<domain name>][; secure] Pliki cookie są małymi porcjami informacji zachowywanymi na komputerze użytkownika Potencjalne niebezpieczeństwo ze strony aplikacji próbujących wyłudzić informacje od użytkownika (takie, jak IP, bądź operacyjny system). W plikach cookie nie powinno się przechowywać żadnych istotnych informacji w postaci haseł bądź innych danych użytkownika Pliki cookie są przechowywane w powszechnie znanym katalogu. Każdy kto ma dostęp do komputera użytkownika może potencjalnie otworzyć plik cookie i podejrzeć informacje w nim zawarte.

Cookies Z uwagi na fakt, że niektórzy wyłączają sobie domyślnie obsługę plików cookie z tytułu potencjalnego niebezpieczeństwa nie jest dobrym poleganie na nich w przypadku implementacji logiki aplikacji. Należy w nich zawrzeć informacje jedynie takie, które miałyby użytkownikowi ułatwić powrócenie do aplikacji po ponownym uruchomieniu przeglądarki.

Cookies - PHP W celu zachowania zmiennej w pliku cookie należy wykorzystać funkcję setcookie(). Nazwa cookie Wartość cookie Czas wygaśnięcia (expiration time) Ścieżka opcjonalnie Domena nazwa domeny, dla której ustawiany jest plik cookie opcjonalnie Czy plik wymaga bezpiecznego połączenia setcookie('cookiename', 'value', 'expiration time', 'path', 'domain', 'secure connection')

Cookies PHP - przykład <?php ; setcookie('username', 'Marek', time()+60); session_start(); $_SESSION['param']='wrt';?> <?php session_start(); echo $_COOKIE['username'];?>