okladka
Tchnij życie w swoje strony WWW dzięki dwudziestu profesjonalnym skryptom i podprogramom CGI, napisanych specjalnie na potrzeby tej książki.

Jeżeli chcesz uczynić swoją stronę WWW tak interaktywną, jak to tylko możliwe, zrobić to tak szybko, jak to tylko możliwe - trafiłeś pod właściwy adres! Książka, razem z dołączonym CD, wyposaży Cię w 20 najbardziej dzisiaj pożądanych programów i podprogramów CGI, stworzonych specjalnie na jej potrzeby. Każdy gotowy do załadowania i użycia. Poza tym będziesz mógł szybko, bezboleśnie i w nietuzinkowy sposób nauczyć się podstaw oraz zaawansowanych zagadnień programowania CGI w Perlu.

Książka "CGI/Perl" zaczyna się od zwięzłego opisu zasad tworzenia programów CGI dla początkujących oraz przewodnika prezentującego sposoby instalacji tych programów na serwerach WWW działających w systemach UNIX, Windows oraz MacOS. Pozostała część książki zawiera szczegółową analizę siedmiu doskonałych programów CGI, wśród których będziesz mógł znaleźć: mechanizm wyszukiwawczy, system kontroli dostępu, zaawansowane przetwarzanie formularzy, karty zakupowe, obsługę poczty elektronicznej, kodowanie plików, weryfikację kart kredytowych, sprawdzanie poprawności adresów poczty elektronicznej, obsługę błędów oraz szyfrowanie tekstu. Wraz z każdym programem podane zostały dodatkowe informacje dotyczące sposobów jego instalacji oraz obsługi, jak również profesjonalne rady i podpowiedzi dotyczące tworzenia programów CGI w języku Perl.

CD-ROM dostarczany wraz z niniejszą książką jest prawdziwą kopalnią złota, w której będziesz znaleźć nie tylko programy gotowe do zastosowania, lecz także wiele bardzo cennych informacji. Na CD-ROMie znajdują się:

  • Wszystkie programy CGI przedstawione w książce - kody oraz wersje gotowe do użytku
  • Kompletne archiwa skryptów Matta Wright"a
  • Zbiór najlepszych skryptów, jakie można znaleźć w WWW - w tym także ich kody źródłowe
  • Najnowsze wersje Perla dla Windows, UNIX-a oraz systemu MacOS
  • Przeglądarki WWW: Internet Explorer, Netscape Navigator
  • Wygaszacz ekranu
Craig Patchett jest profesjonalnym programistą i doświadczonym autorem książek komputerowych.

Matthew Wright jest twórcą popularnych stron WWW: "Matt"s Script Archive" i "CGI Resource Index".

"Książka ta koniecznie powinna znaleźć się na Twojej półce ze względu na gotowe do uruchomienia programy i inspirację do tworzenia nowych."
Randal L. Schwartz Stonehenge Consulting Services

  • O autorach (11)
  • Podziękowania (13)
  • Przedmowa (15)
Część I. Podstawy
Rozdział 1. Zasady korzystania z książki (21)
  • Po linii najmniejszego oporu (21)
  • Dla każdego coś dobrego (22)
    • Dla zupełnie "zielonych" (22)
    • Dla początkujących programistów (22)
    • Dla bardziej zaawansowanych (22)
    • Dla ekspertów CGI/Perla (22)
  • Rys ogólny (23)
    • Podstawy (23)
    • Programy (23)
    • Dodatki (25)
  • Wymagania (25)
    • Umiejętność programowania (26)
    • Oprogramowanie (26)
    • Systemy operacyjne (27)
  • Konwencje przyjęte w książce (27)
    • Różnorodność (27)
    • Nazwy zmiennych (27)
    • Style czcionek (28)
    • Numeracja linii (28)
    • Nazwy domen (28)
  • Odwiedź nas w Internecie (28)
  • W przypadku problemów (29)
  • Zastrzeżenie (29)
Rozdział 2. Podstawy CGI i Perla (31)
  • O protokołach i językach programowania (31)
  • Interfejs CGI (32)
    • Pobieranie informacji z serwera (32)
    • Wysyłanie informacji do serwera (32)
  • Perl - język "praktycznej ekstrakcji i raportowania" (33)
    • Wyrażenia regularne (33)
    • Łatwość uczenia się (35)
    • Przenośność (35)
  • CGI i Perl (35)
  • Podsumowanie (36)
Rozdział 3. Instalacja programów CGI (37)
  • Założenia wstępne (38)
    • Masz dostęp do serwera WWW (38)
    • Perl jest zainstalowany na serwerze (38)
    • Masz dostęp do katalogu CGI (38)
    • Wiesz, jak przesyłać pliki na serwer WWW (39)
  • Instalacja programów CGI (39)
    • Serwery UNIX-owe (39)
    • Serwery Windows (40)
    • Serwery MacOS (41)
  • Instalacja wymaganych plików (41)
  • Instalacja plików dodatkowych (41)
  • Usuwanie problemów (42)
    • Błąd "403 Forbidden" (42)
    • Błąd "404 Not found" (42)
    • Błąd "500 Server Error" (42)
Część II Programy
Rozdział 4. Zarządzanie plikami fileseek.cgi (45)
  • Możliwości (45)
  • Przewodnik użytkownika (49)
    • Tworzenie własnych nagłówków stron (49)
    • Tworzenie pliku stopki strony (50)
    • Korzystanie z programu (51)
  • Instalacja (52)
    • Konfiguracja plików i katalogów (52)
    • Ustawienie zmiennych konfiguracyjnych (53)
  • Program (55)
    • Konfiguracja (55)
    • Dołączenie wymaganych plików (56)
    • Inicjalizacja stałych (56)
    • Analiza łańcucha parametrów (57)
    • Sprawdzenie katalogów (58)
    • Szukanie plików (60)
    • Pobranie zawartości katalogu (62)
    • Pobieranie informacji o pliku (62)
    • Sortowanie plików (63)
    • Generowanie rezultatu (65)
    • Generowanie formularza przeszukiwania i nagłówków kolumn (67)
    • Formatowanie rozmiaru pliku (procedura) (71)
  • Pomysły rozszerzeń (72)
Rozdział 5. Pobieranie danych: formhandler.cgi (75)
  • Możliwości (75)
  • Przewodnik użytkownika (78)
    • Użycie zmiennych konfiguracyjnych formularza (79)
    • Tworzenie formularza (84)
    • Tworzenie plików wzorcowych (88)
    • Tworzenie pliku wzorca logu (89)
    • Tworzenie wzorców pocztowych (89)
    • Tworzenie wzorca strony potwierdzającej wypełnienie formularza (90)
    • Wzorzec strony komunikatu o nie wypełnionych polach (90)
  • Dodatek specjalny: lista dyskusyjna (91)
    • Dodawanie osób do listy (92)
    • Wysyłanie wiadomości na listę (93)
    • Tworzenie wzorca wiadomości (93)
  • Instalacja (94)
    • Przygotowanie katalogów i plików (96)
    • Ustawienie zmiennych konfiguracyjnych (97)
  • Program (98)
    • Konfiguracja (98)
    • Dołączenie wymaganych plików (99)
    • Sprawdzenie praw dostępu (99)
    • Przygotowanie danych z formularza (100)
    • Sprawdzenie wymaganych pól (101)
    • Inicjalizacja pól daty (103)
    • Przetwarzanie zmiennych adresowych (103)
    • Wysyłanie rezultatu przetworzenia formularza (106)
    • Wysyłanie odpowiedzi (110)
    • Aktualizacja logu (112)
    • Wyświetlanie odpowiedzi (116)
    • Sprawdzanie ważności katalogu (procedura) (117)
    • Generowanie komunikatów błędów (procedura) (118)
  • Propozycje rozszerzeń (120)
Rozdział 6. Rozsyłanie informacji: broadcaster.cgi (123)
  • Możliwości (123)
  • Podręcznik użytkownika (128)
    • Tworzenie plików danych (128)
    • Tworzenie pliku z wiadomością (129)
    • Korzystanie z programu (129)
  • Instalacja (132)
    • Konfiguracja katalogów i plików (132)
    • Ustawienie zmiennych konfiguracyjnych (134)
    • Ustawienia pliku konfiguracyjnego (135)
  • Program (137)
    • Konfiguracja (137)
    • Inicjacja zmiennych i wyjścia (139)
    • Sprawdzenie bezpieczeństwa (140)
    • Generowanie formularza wyboru plików (141)
    • Generowanie formularza wyboru pól (144)
    • Generowanie formularza przykładu (152)
    • Wysyłanie listów (159)
    • Generowanie znacznika BODY (procedura) (172)
    • Wyświetlanie listy wiadomości (procedura) (172)
    • Wyświetlanie wiadomości (procedura) (173)
    • Przetwarzanie rekordów w formacie CSV (procedura) (174)
  • Pomysły rozszerzeń (176)
Rozdział 7. Elektroniczny handel: webshop.cgi (177)
  • Możliwości (177)
  • Korzystanie z programu (181)
    • Utworzenie baz danych (183)
    • Tworzenie strony wprowadzającej (186)
    • Tworzenie wzorców (187)
    • Tworzenie wzorców stron (189)
    • Tworzenie szkieletów wiadomości elektronicznych (195)
  • Instalacja (196)
    • Utworzenie struktury plików i katalogów (196)
    • Ustawienie zmiennych konfiguracyjnych (197)
    • Tworzenie plików konfiguracyjnych (198)
    • Zmienne pocztowe (199)
  • Program (200)
    • Konfiguracja (201)
    • Dołączenie plików bibliotecznych (201)
    • Dołączenie pliku konfiguracyjnego (202)
    • Sprawdzanie przedawnionych zamówień (202)
    • Identyfikacja odwiedzającego (203)
    • Obsługa zleceń dotyczących informacji o produkcie (205)
    • Przetwarzanie zlecenia zakupu produktu (206)
    • Przetwarzanie zlecenia podglądu zamówienia (208)
    • Przetwarzanie zlecenia obsługi zamówienia (209)
    • Przetwarzanie zlecenia dotyczącego anulowania (kasowania) zamówienia (209)
    • Zatwierdzanie zamówienia (210)
    • Przetwarzanie nieprawidłowych zleceń (211)
    • Tworzenie nowego użytkownika (procedura) (212)
    • Pobieranie informacji o produktach (procedura) (213)
    • Aktualizacja czasu ważności (procedura) (214)
    • Budowa tabeli zakupów (procedura) (215)
    • Przetwarzanie pliku wzorca (procedura) (223)
    • Wyświetlanie błędów (procedura) (227)
  • Pomysły rozszerzeń (231)
Rozdział 8. Zbieranie opinii: feedback.cgi (233)
  • Możliwości (233)
    • Najważniejsze właściwości (233)
    • Właściwości programu FeedbackAdmin (236)
  • Podręcznik użytkownika (237)
    • Utworzenie strony wprowadzania wiadomości (239)
    • Utworzenie strony wiadomości (239)
    • Utworzenie strony archiwum (240)
    • Utworzenie pliku identyfikatora wiadomości (240)
    • Utworzenie pliku słów cenzurowanych (240)
    • Korzystanie ze znaczników zmiennych we wzorcach (241)
    • Tworzenie wzorca strony (241)
    • Tworzenie wzorców listu (245)
    • Tworzenie strony administracyjnej (246)
    • Korzystanie z programu FeedbackAdmin (246)
  • Instalacja (249)
    • Struktura plików i katalogów (249)
    • Ustawienie zmiennych konfiguracyjnych (250)
    • Tworzenie plików konfiguracyjnych (252)
  • Program Feedback (256)
    • Konfiguracja (256)
    • Inicjacja stałych (256)
    • Dołączenie plików bibliotecznych (256)
    • Przetwarzanie zmiennych formularza (257)
    • Odczytywanie plików konfiguracyjnych (257)
    • Pobieranie i formatowanie bieżącej daty i godziny (257)
    • Sprawdzanie zablokowanych adresów (258)
    • Sprawdzanie duplikatów (259)
    • Sprawdzanie pól wymaganych (260)
    • Sprawdzanie słów niecenzuralnych (261)
    • Sprawdzanie zabronionych kodów HTML-owych (263)
    • Przetwarzanie wiadomości (263)
    • Wysyłanie odpowiedzi (267)
    • Wysyłanie listu do administratora (268)
    • Archiwizacja wiadomości (268)
    • Aktualizacja logu (274)
    • Wyświetlanie strony potwierdzenia (275)
    • Pobieranie bieżącego identyfikatora (procedura) (276)
    • Aktualizacja pliku identyfikatora wiadomości (276)
    • Wyświetlanie błędów (277)
    • Generowanie nagłówka strony komunikatu błędu (283)
    • Generowanie stopki strony komunikatu błędu (284)
  • Program FeedbackAdmin (284)
    • Konfiguracja (284)
    • Dołączenie plików bibliotecznych (285)
    • Przetwarzanie zmiennych formularza (285)
    • Odczytywanie plików konfiguracyjnych (285)
    • Generowanie formularzy poleceń (286)
    • Zatwierdzanie wiadomości (293)
    • Usuwanie wiadomości (296)
    • Archiwizacja wiadomości (298)
    • Zmiana hasła (301)
    • Przetwarzanie nieprawidłowych komend (303)
    • Aktualizacja listy zablokowanych komputerów (303)
    • Definicja tablicy zmiennych konfiguracyjnych (procedura) (304)
    • Generowanie nagłówka strony (procedura) (305)
    • Dodawanie wiadomości do pliku zbiorczego (procedura) (305)
    • Archiwizacja miesięczna (procedura) (306)
    • Archiwizacja na podstawie ilości wiadomości (308)
    • Autoryzacja użytkownika (procedura) (310)
    • Wyświetlanie komunikatów błędu (procedura) (311)
    • Generowanie nagłówka strony błędu (procedura) (316)
    • Generowanie stopki strony błędu (procedura) (317)
  • Pomysły rozszerzeń (317)
Rozdział 9. Dynamiczne strony: pagecontrol.cgi (319)
  • Możliwości (319)
  • Podręcznik użytkownika (322)
    • Dostęp do programu (322)
    • Przygotowanie stron (324)
  • Instalacja (328)
    • Struktura plików i katalogów (328)
    • Ustawienie zmiennych konfiguracyjnych (328)
  • Program (332)
    • Konfiguracja (332)
    • Inicjalizacja stałych (334)
    • Sprawdzanie autoryzacji (334)
    • Określenie strony (335)
    • Sprawdzanie specjalnych wywołań (335)
    • Sprawdzanie ważności zapytania o plik (337)
    • Przetwarzanie strony (339)
    • Ustawienie pomocniczych nazw plików (340)
    • Odczytywanie informacji o odnośniku (341)
    • Określanie praw dostępu (343)
    • Aktualizacja logu serwera (344)
    • Obsługa użytkowników z zablokowanym dostępem (346)
    • Przetwarzanie zleceń dotyczących odnośników (346)
    • Aktualizacja statystyk oglądalności (347)
    • Udostępnianie zmiennych (351)
    • Przetwarzanie treści strony (352)
    • Dodanie opcjonalnej stopki (360)
    • Aktualizacja pliku odnośników (procedura) (361)
  • Pomysły rozszerzeń (362)
Rozdział 10. Ograniczanie dostępu: authenticate.cgi (365)
  • Możliwości (365)
  • Podręcznik użytkownika (368)
  • Instalacja (369)
    • Struktura plików i katalogów (369)
    • Ustawienie zmiennych konfiguracyjnych (371)
  • Program (377)
    • Konfiguracja (378)
    • Inicjalizacja zmiennych (380)
    • Przetwarzanie formularza i sprawdzanie cookies (381)
    • Przetwarzanie zlecenia potwierdzenia rejestracji (382)
    • Przetwarzanie pierwszego zlecenia (382)
    • Przetwarzanie zleceń odszukania zagubionych identyfikatorów (384)
    • Przetwarzanie zleceń rejestracji (385)
    • Przetwarzanie odpowiedzi z formularza autoryzacji (385)
    • Przetwarzanie formularza rejestracyjnego (392)
    • Przetwarzanie formularza zagubionego identyfikatora (396)
    • Wysyłanie odpowiedniej strony lub formularza (399)
  • Przykładowa procedura rejestracyjna (400)
    • Inicjacja zmiennych (401)
    • Sprawdzanie wypełnienia wymaganych pól (401)
    • Sprawdzanie pól (402)
  • Autoryzacja innego programu (403)
    • Konfiguracja i korzystanie z procedury (404)
    • Procedura (405)
  • Pomysły rozszerzeń (406)
Rozdział 11. Procedury biblioteczne (409)
  • Możliwości (409)
  • Korzystanie z procedur (410)
  • Przetwarzanie adresów IP: addr_to_host (411)
    • Użytkowanie (411)
    • Procedura (412)
  • Kodowanie pliku algorytmem base64: base64_encode_file (414)
    • Użytkowanie (414)
    • Procedura (416)
  • Sprawdzanie kart kredytowych: cc_validate (418)
    • Użytkowanie (419)
    • Procedura (420)
  • Sprawdzanie adresów e-mailowych: email_check (423)
    • Użytkowanie (423)
    • Procedura (424)
  • Zgłaszanie komunikatów błędów (425)
    • Użytkowanie (425)
    • Procedura (428)
  • Formatowanie dat: format_date (429)
    • Użytkowanie (430)
    • Procedura (432)
  • Konwersja adresów IP na 8-znakowe nazwy plików: ip_convert (436)
    • Użytkowanie (436)
    • Procedura (437)
  • Blokowanie dostępu do plików: lock i unlock (439)
    • Użytkowanie (439)
    • Procedury (441)
  • Przetwarzanie pól formularzy: parse_form (444)
    • Użytkowanie (445)
    • Procedura (446)
  • Przetwarzanie wzorców: parse_template (449)
    • Użytkowanie (449)
    • Procedura (452)
  • Szyfrowanie informacji: scramble i unscramble (454)
    • Użytkowanie (454)
    • Procedury (455)
  • Wysyłanie listów i plików: send_email (458)
    • Użytkowanie (458)
  • Procedura (462)
  • Kodowanie metodą uuencode: uuencode (474)
    • Użytkowanie (474)
    • Procedura (476)
Dodatek A. Testowanie programów CGI (479)
  • Metodyka sposobem na bałagan (479)
  • Wstępna kontrola (480)
    • Błędy formatu plików (480)
    • Błędy dostępu do plików (480)
    • Błędy składniowe (481)
    • Błędy konfiguracyjne (481)
    • Błędy formatu wyjściowego (482)
  • Korzystanie z debuggera Perla (482)
    • Wprowadzenie (482)
    • Udawane wywołania CGI (485)
  • Podglądanie niewidocznego (486)
Dodatek B. Zmienne środowiskowe CGI (487)
  • Dostęp do tablicy %ENV (487)
  • Zmienne (489)
    • Identyfikacja odwiedzającego (489)
    • Dane formularza i cookie (490)
    • Informacja o serwerze (492)
    • Informacja o przeglądarce (492)
    • Informacje o programie (493)
    • Informacja o SSI (494)
Dodatek C. Bezpieczeństwo CGI (495)
  • Potencjalne niebezpieczeństwa (495)
  • Obszary zwiększonego ryzyka (496)
    • Nadmiar założeń (496)
    • Przechwytywanie formularza (496)
    • Własna ochrona (496)
  • Plan działania (500)
Dodatek D. Nagłówki HTTP (503)
  • Do czego służą nagłówki? (503)
  • Korzystanie z nagłówków HTTP w programach CGI (504)
  • Użyteczne nagłówki HTTP (504)
    • Podstawy (504)
    • Odświeżanie (507)
Dodatek E. Zasoby dotyczące Perla i CGI (509)
  • Zasoby w Sieci (509)
    • Archiwa programów CGI (509)
    • Zasoby CGI (510)
    • Zasoby dotyczące Perla (511)
    • Grupy dyskusyjne (512)
    • Specyfikacje (512)
  • Inne zasoby (512)
Dodatek F. Opis zawartości płyty CD (513)
  • Co znajduje się na płycie? (513)
  • Wymagania sprzętowe (514)
  • Instalacja oprogramowania (514)
  • Korzystanie z zawartego na płycie oprogramowania (514)
  • Wsparcie użytkowników i dodatkowe informacje (515)
Dodatek G. Perl - licencja (517)
  • "The Artistic License" (517)
    • Preamble (517)
    • Definitions (517)
    • Terms (518)
  • "Licencja Artystyczna" (520)
    • Preambuła (520)
    • Postanowienia (520)
Skorowidz (523)