Autor: Rafe Colburn
ISBN: 83-7197-032-3
Ilość stron: 344
Data wydania: 05/1998
Niniejsza książka poprowadzi Czytelnika o krok dalej, poza zwykłe strony HTML. Omawia wykorzystanie programów w Perlu i C do tworzenia interaktywnych formularzy, mapowania grafiki, integracji z bazami danych.
Książka "CGI" omawia zagadnienia programowania CGI w Perlu i C, tworzenie działających programów wraz ze szczegółowymi objaśnieniami, wykorzystanie interaktywnych formularzy oraz mapowanych obrazków, kontrolowanie odwiedzin stron WWW za pomocą liczników i książek gości, tworzenia własnych komunikatów obsługi błędów, projektowanie aplikacji korzystających z baz danych, wykorzystanie i dostosowywanie istniejących bibliotek CGI.
Rozdziały:
Część 1. Wstęp do CGI (15)
Rozdział 1. Wprowadzenie do CGI (17)
- Co to jest CGI? (17)
- Przykład programów CGI w serwisach WWW (18)
- CGI: Następny krok (19)
- Korzyści płynące z użycia CGI (20)
- Przykład działania CGI (21)
- Myślenie w sposób UNIX-owy (22)
- Standardowe wejście (23)
- Standardowe wyjście (24)
- Prawa dostępu do plików (24)
- Wybrane elementy terminologii (26)
- URL-e i URI (26)
- Obiekty, dokumenty i zasoby (26)
- Serwery WWW (27)
- Co to jest serwer WWW? (27)
- Struktura serwisu (28)
- Przegląd platform CGI (29)
- Serwery UNIX-owe (29)
- Serwery dla Windows NT (30)
- Serwery dla Macintosha (30)
- Podsumowanie (31)
- Warsztat (31)
- Pytania i odpowiedzi (31)
- Quiz (32)
- Ćwiczenia (32)
Rozdział 2. Tworzenie programów CGI (33)
- Wybór języka programowania (33)
- Języki kompilowane kontra interpretowane (34)
- Biblioteki CGI (35)
- Perl (35)
- Użycie Perla z CGI (37)
- Dlaczego nie używać cgi-lib.pl (38)
- Visual Basic (38)
- C/C++ (39)
- Biblioteki CGI dla C (40)
- Powłoka Bourne'a (40)
- AppleScript (41)
- Pisanie skryptów CGI przy pomocy AppleScriptu (42)
- Debugging skryptów CGI (42)
- Testuj swój program w bezpiecznym środowisku (42)
- Testowanie programów w linii poleceń (43)
- Testowanie skryptów z poziomu serwera (43)
- Co trudniejszego (44)
- Podsumowanie (45)
- Warsztat (45)
- Pytania i odpowiedzi (45)
- Quiz (45)
- Ćwiczenia (46)
Część 2. Podstawy CGI (47)
Rozdział 3. Wstęp do formularzy HTML (49)
- Najprostszy formularz: ISINDEX (49)
- Tworzenie formularzy (52)
- Znacznik Input (52)
- Pole tekstowe (53)
- Przyciski wysyłania formularza (53)
- Przycisk kasowania formularza (54)
- Pola typu checkbox (55)
- Przełączniki radiowe (56)
- Hasła (56)
- Przyciski graficzne (57)
- Pola wyboru pliku (57)
- Pola ukryte (57)
- Znacznik textarea (58)
- Znacznik SELECT (59)
- Kontrola poprawności danych w formularzach (61)
- Program w języku JavaScript (62)
- Formularz w całoci (62)
- Kolejne rozszerzenie programu (63)
- Wysyłanie formularzy pocztą elektroniczną (64)
- Podsumowanie (65)
- Warsztat (65)
- Pytania i odpowiedzi (65)
- Quiz (66)
- Ćwiczenia (66)
Rozdział 4. Wykorzystanie danych z formularzy (67)
- Więcej o znaczniku FORM (67)
- Rodzaje zleceń (69)
- Metoda get (69)
- Metoda POST (70)
- Metoda HEAD (71)
- Przykładowy skrypt (71)
- Uwaga ogólna (72)
- Z powrotem do roboty (74)
- GET kontra POST (77)
- Dodatkowa informacja o ścieżce (77)
- Inne nagłówki (78)
- Wykorzystanie informacji z nagłówków (80)
- Podsumowanie (81)
- Warsztat (81)
- Pytania i odpowiedzi (81)
- Quiz (82)
- Ćwiczenia (82)
Część 3. Elementy CGI (83)
Rozdział 5. Protokół HTTP (85)
- Podstawy HTTP (85)
- Przykład sesji HTTP (86)
- Krok 1. - otwarcie połączenia TCP (87)
- Krok 2. - przeglądarka wysyła zlecenie do serwera WWW (87)
- Krok 3. - przeglądarka wysyła nagłówki zlecenia (88)
- Krok 4. - odpowiedź serwera (88)
- Krok 5. - serwer wysyła nagłówki odpowiedzi (88)
- Krok 6. - serwer wysyła dane do przeglądarki (89)
- Krok 7. - serwer zamyka połączenie TCP (89)
- Kody odpowiedzi serwera (89)
- Nagłówki odpowiedzi (91)
- Cache-control (91)
- Content-length (91)
- Content-type (91)
- Expires (91)
- Pragma (91)
- Server (92)
- Set-Cookie (92)
- Typy danych (92)
- Jak serwer wykorzystuje typy MIME (93)
- Podział typów MIME na kategorie (93)
- Niestandardowe typy MIME (94)
- Bezpieczne połączenia (95)
- Podsumowanie (96)
- Warsztat (96)
- Pytania i odpowiedzi (96)
- Quiz (96)
- Ćwiczenia (97)
Rozdział 6. Technologia SSI (99)
- Jak działa SSI (99)
- Konfiguracja serwera WWW do pracy z SSI (99)
- Serwery Apache i NCSA (100)
- Serwer CERN-u (100)
- Serwer Netscape (101)
- Microsoft Internet Information Server (101)
- O'Reilly's WebSite (101)
- Serwer Webstar (101)
- Wykorzystanie SSI (101)
- Projektowanie stron z użyciem SSI (107)
- Użycie dyrektywy #include (108)
- Data modyfikacji pliku (109)
- Użycie dyrektywy #exec (110)
- XSSI (110)
- printenv (111)
- set (111)
- Dyrektywa warunkowa if (111)
- Podsumowanie (113)
- Warsztat (113)
- Pytania i odpowiedzi (113)
- Quiz (114)
- Ćwiczenia (114)
Część 4. Tworzenie aplikacji CGI (115)
Rozdział 7. Podstawowe aplikacje CGI (117)
- Internetowa ankieta (117)
- Krok 1. - Tworzymy formularz (118)
- Krok 2. - piszemy program CGI (119)
- Tworzenie menu odnośników (126)
- Krok 1. - Przygotowanie formularza (127)
- Krok 2. - dodajemy JavaScript (127)
- Krok 3. - piszemy skrypt CGI (129)
- Tworzenie strony na podstawie wzorca (130)
- Krok 1. - format danych tekstowych (131)
- Krok 2. - wysłanie nagłówków (131)
- Krok 3. - czytanie artykułów i ich konwersja (131)
- Krok 4. - stopka strony (133)
- Uruchamianie skryptu (134)
- Podsumowanie (135)
- Warsztat (135)
- Pytania i odpowiedzi (135)
- Quiz (135)
- Ćwiczenia (136)
Rozdział 8. Dynamiczne tworzenie grafiki (137)
- Biblioteka gd (137)
- Jak ją zdobyć? (137)
- Użycie biblioteki gd w programach (138)
- Biblioteka gd w zastosowaniu praktycznym (140)
- Działanie programu (141)
- Dyrektywy preprocesora (141)
- Funkcja main() i deklaracja zmiennych (141)
- Tworzymy tło wykresu oraz stałe elementy (142)
- Odczytanie argumentów (143)
- Rysowanie punktów wykresu i ich połączenie (143)
- Etykiety punktów wykresu (144)
- Zapisujemy obrazek, zwalniamy pamięć i kończymy program (144)
- Pełne źródło programu (145)
- gd w Perlu (146)
- Powtórka z rysowania wykresów (147)
- Pełne źródło programu (149)
- Wykorzystanie dynamicznie generowanej grafiki (150)
- Podsumowanie (151)
- Warsztat (151)
- Pytania i odpowiedzi (151)
- Quiz (152)
- Ćwiczenia (152)
Część 5. Uatrakcyjnianie publikacji za pomocą CGI (153)
Rozdział 9. Własna obsługa komunikatów błędów (155)
- Co to są komunikaty błędów? (155)
- Zmiana ustawień serwera (157)
- Apache (157)
- Serwer Netscape (158)
- Podstawowe strony komunikatów błędów (159)
- Bardziej złożone komunikaty (160)
- Odnonik do poprzedniej strony (160)
- Dodawanie innych odnoników (161)
- Bramka CGI do poczty elektronicznej (164)
- Formularz do wysyłania poczty (165)
- Sprawdzanie poprawnoci danych i wysyłanie poczty (167)
- Podsumowanie (175)
- Warsztat (175)
- Pytania i odpowiedzi (175)
- Quiz (176)
- Ćwiczenia (176)
Rozdział 10. Przechowywanie informacji o użytkownikach i sesji (177)
- Co oznacza pojęcie zarządzanie sesją? (177)
- Podstawowy schemat autoryzacyjny (178)
- Użycie ukrytych pól formularzy (180)
- Mechanizm Cookie (184)
- Działanie cookies (185)
- Użycie cookies do przechowywania danych użytkownika (187)
- Ustawianie i sprawdzanie cookies przy pomocy JavaScriptu (189)
- Zarządzanie sesją przy pomocy Cookies (190)
- Dlaczego CGI i Cookies ze sobą nie współgrają (193)
- Podsumowanie (194)
- Warsztat (194)
- Pytania i odpowiedzi (194)
- Quiz (195)
- Ćwiczenia (195)
Część 6. Integracja z bazami danych (197)
Rozdział 11. Wykorzystanie baz danych (199)
- Co to jest baza danych (199)
- Pliki o płaskiej strukturze (200)
- Użycie znaków rozdzielających dane (200)
- Rozdzielanie danych kolumnami (201)
- Bazy danych i WWW (201)
- Projektowanie aplikacji baz danych (202)
- Formularz HTML (202)
- Skrypt sprawdzający dane (204)
- Skrypt dopisujący dane do bazy (211)
- Skrypt odczytujący bazę danych (213)
- Podsumowanie (216)
- Warsztat (217)
- Pytania i odpowiedzi (217)
- Quiz (217)
- Ćwiczenia (217)
Rozdział 12. Język SQL (219)
- Co to jest relacyjna baza danych? (219)
- Język SQL (220)
- Polecenie SELECT (221)
- Złączenia (224)
- Dodawanie, kasowanie i aktualizacja rekordów (226)
- To nie wszystko (227)
- Standard ODBC (227)
- DBD/DBI (228)
- Przykładowy program wykorzystujący DBI (229)
- Krok dalej (231)
- Warto polecić (231)
- Podsumowanie (232)
- Warsztat (232)
- Pytania i odpowiedzi (232)
- Quiz (232)
- Ćwiczenia (232)
Część 7. Bezpieczeństwo i technologie podobne do CGI (233)
Rozdział 13. Bezpieczeństwo CGI (235)
- Dlaczego bezpieczeństwo? (235)
- Konkurs "Złam Maca" (236)
- Ocena ryzyka (237)
- Zabezpieczanie serwera WWW (238)
- Korzystanie z aktualnych wersji programów (238)
- Przechowywanie skryptów w jednym miejscu (239)
- Prawa dostępu do plików (239)
- Niebezpieczne opcje serwera (240)
- Najczęstsze dziury bezpieczeństwa w CGI (240)
- Uwaga na temat działania CGI (240)
- Problem przekroczenia wielkoci bufora (241)
- Bezpośrednie przesyłanie parametrów do poleceń (242)
- Ryzykowne użycie cieżek (243)
- Umieszczanie interpretera Perla w cgi-bin (243)
- Dziura w plikach wsadowych systemu DOS (243)
- Nie ujawniaj informacji o serwerze (244)
- Bezpieczne programowanie (244)
- Używanie powłoki bez używania powłoki (244)
- Podsumowanie (245)
- Warsztat (245)
- Pytania i odpowiedzi (245)
- Quiz (246)
- Ćwiczenia (246)
Rozdział 14. Alternatywy dla CGI (247)
- Patrząc wstecz (247)
- Dlaczego pojawiły się inne technologie (248)
- Koniec ograniczeń CGI (248)
- Rodzaje technologii alternatywnych dla CGI (249)
- Technologia ASP Microsoftu (249)
- Komponenty (250)
- Skrypty (250)
- Strony HTML (251)
- Inne platformy ASP (251)
- Technologia LiveWire firmy Netscape (251)
- Cold Fusion firmy Allaire (252)
- Przykładowy kod Cold Fusion (252)
- Moduł mod_perl dla serwera Apache (254)
- Zmiana skryptów CGI na mod_perl (254)
- PHP/FI (255)
- Przykłady użycia PHP/FI (256)
- ePerl (257)
- Java po stronie serwera (258)
- Użycie Servletów Javy (259)
- API serwera Netscape (259)
- API serwera internetowego Microsoftu (260)
- Podsumowanie (261)
- Warsztat (261)
- Pytania i odpowiedzi (261)
- Quiz (261)
- Ćwiczenia (262)
Dodatek A. Typy Mime (265)
Dodatek B. Kody i opisy błędów HTTP (269)
Dodatek C. Zmienne środowiskowe CGI (275)
- Nagłówki zlecenia HTTP (277)
Dodatek D. Perl/CGI - skrócony opis (281)
- Dodatkowe informacje na temat Perla 5 (281)
- Wywołanie Perla 5 (282)
- Wywołanie z linii poleceń systemu UNIX (282)
- Wywołanie Perla 5 w systemie Windows 95 lub Windows NT (283)
- Uruchamianie programów w Perlu jako CGI w systemie UNIX (283)
- Uruchamianie programów w Perlu jako CGI w systemie Windows (283)
- Opcje wywołania Perla 5 (284)
- Język Perl 5 (285)
- Literały, polecenia, wartości, zmienne skalarne i operatory (285)
- Konstrukcje decyzyjne, prawda/fałsz i bloki (289)
- Listy i tablice (292)
- Elementy list (293)
- Funkcje operujące na tablicach i listach (294)
- Konstrukcja pętli (295)
- Funkcje użytkownika (299)
- Tablice asocjacyjne (301)
- Funkcje do pracy z tablicami asocjacyjnymi (303)
- Wejcie/wyjście, pliki i katalogi (303)
- Operatory do sprawdzania plików (305)
- Funkcje operujące na plikach (307)
- Praca z plikami w sposób nietekstowy (307)
- Obsługa katalogów (308)
- Wyrażenia regularne (308)
- Zmienne specjalne (310)
- Standardowe funkcje Perla 5 (313)
- Referencje, pakiety, moduły, klasy i obiekty (322)
- Moduły związane z WWW (323)
- CGI.pm (324)
- HTML::* (324)
- LWP.pm (324)
- Czego tu nie ma (324)
- Formaty (325)
- tie (325)
- Zaawansowana obsługa sieci, sockety i IPC (325)
- Zaawansowane użycie referencji (325)
- Standardowa biblioteka Perla i CPAN (325)
- Informacje diagnostyczne (326)
- Debugger Perla (326)
- Integracja z innymi językami (326)
- Wnętrze Perla (326)
- Programowanie GUI w Perlu (327)
- PerlIS i mod_perl (327)
- Integracja z Emacsem (327)
- Kompilator Perla (327)
Dodatek E. Omówienie wyrażeń regularnych (329)
Dodatek F. Tablica znaków ASCII (333)
Dodatek G. Odpowiedzi na quiz (335)
CGI --- Pozycja niedostępna.---
|