Stwórz wydajne i bezpieczne aplikacje internetowe
Poznaj zasady programowania w PHP i korzystania z baz danych
Zaprojektuj interfejs użytkownika dla aplikacji
Wykorzystaj dokumenty w formacie XML
Zabezpiecz aplikację przed nieautoryzowanym dostępem
Sieć WWW już dawno przestała być jedynie zbiorem setek statycznych witryn. Dziś w sieci można znaleźć dziesiątki aplikacji -- sklepów, katalogów, systemów bankowych, blogów i wielu innych. Do tworzenia takich aplikacji wykorzystuje się kilka technologii, z których największą popularnością cieszy się język PHP w połączeniu z bazą danych MySQL. Nieodpłatny dostęp, łatwość obsługi oraz potężne możliwości sprawiły, że ta platforma jest stosowana przez ogromne rzesze programistów aplikacji WWW na całym świecie.
'PHP i MySQL. Tworzenie aplikacji WWW' to książka, dzięki której poznasz możliwości tej technologii i nauczysz się z nich korzystać, pisząc aplikacje internetowe. Dowiesz się, jak tworzyć programy w języku PHP, manipulować danymi zgromadzonymi w bazie, projektować rozbudowane aplikacje i wdrażać je. Przeczytasz tu o zabezpieczaniu aplikacji, usuwaniu błędów, korzystaniu z plików XML i usług sieciowych oraz projektowaniu ergonomicznych interfejsów użytkownika. Dzięki praktycznym przykładom szybko nauczysz się stosować PHP i MySQL w swoich projektach.
Programowanie w języku PHP
Organizacja kodu
Zasady programowania obiektowego
Projektowanie i tworzenie baz danych
Stosowanie języka SQL
Przygotowywanie projektu aplikacji
Budowanie interfejsu użytkownika
Usuwanie błędów z kodu
Metody uwierzytelniania użytkowników
Wyrażenia regularne
Usługi sieciowe i protokół SOAP
Wdrażanie aplikacji
Rozpocznij przygodę z programowaniem w PHP.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
SPIS TREŒCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
O NOWOŒCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
PHP i MySQL. Tworzenie
aplikacji WWW
Autor: Marc Wandschneider
T³umaczenie: Jaros³aw Dobrzañski, Rados³aw Meryk
ISBN: 83-246-0323-9
Tytu³ orygina³u: Core Web Application
Development with PHP and MySQL
Format: B5, stron: 856
Stwórz wydajne i bezpieczne aplikacje internetowe
(cid:127) Poznaj zasady programowania w PHP i korzystania z baz danych
(cid:129) Zaprojektuj interfejs u¿ytkownika dla aplikacji
(cid:129) Wykorzystaj dokumenty w formacie XML
(cid:129) Zabezpiecz aplikacjê przed nieautoryzowanym dostêpem
Sieæ WWW ju¿ dawno przesta³a byæ jedynie zbiorem setek statycznych witryn.
Dziœ w sieci mo¿na znaleŸæ dziesi¹tki aplikacji — sklepów, katalogów, systemów
bankowych, blogów i wielu innych. Do tworzenia takich aplikacji wykorzystuje siê kilka
technologii, z których najwiêksz¹ popularnoœci¹ cieszy siê jêzyk PHP w po³¹czeniu
z baz¹ danych MySQL. Nieodp³atny dostêp, ³atwoœæ obs³ugi oraz potê¿ne mo¿liwoœci
sprawi³y, ¿e ta platforma jest stosowana przez ogromne rzesze programistów aplikacji
WWW na ca³ym œwiecie.
„PHP i MySQL. Tworzenie aplikacji WWW” to ksi¹¿ka, dziêki której poznasz mo¿liwoœci
tej technologii i nauczysz siê z nich korzystaæ, pisz¹c aplikacje internetowe. Dowiesz
siê, jak tworzyæ programy w jêzyku PHP, manipulowaæ danymi zgromadzonymi w bazie,
projektowaæ rozbudowane aplikacje i wdra¿aæ je. Przeczytasz tu o zabezpieczaniu
aplikacji, usuwaniu b³êdów, korzystaniu z plików XML i us³ug sieciowych oraz
projektowaniu ergonomicznych interfejsów u¿ytkownika. Dziêki praktycznym
przyk³adom szybko nauczysz siê stosowaæ PHP i MySQL w swoich projektach.
(cid:129) Programowanie w jêzyku PHP
(cid:129) Organizacja kodu
(cid:129) Zasady programowania obiektowego
(cid:129) Projektowanie i tworzenie baz danych
(cid:129) Stosowanie jêzyka SQL
(cid:129) Przygotowywanie projektu aplikacji
(cid:129) Budowanie interfejsu u¿ytkownika
(cid:129) Usuwanie b³êdów z kodu
(cid:129) Metody uwierzytelniania u¿ytkowników
(cid:129) Wyra¿enia regularne
(cid:129) Us³ugi sieciowe i protokó³ SOAP
(cid:129) Wdra¿anie aplikacji
Rozpocznij przygodê z programowaniem w PHP
Wprowadzenie ..........................................................................................................................................17
Dla kogo przeznaczona jest ta książka? ......................................................................... 17
O PHP ......................................................................................................................... 18
Układ książki ............................................................................................................... 19
Zanim zaczniesz .......................................................................................................... 20
Podziękowania ............................................................................................................. 20
Część I Podstawy PHP
21
Rozdział 1. Wprowadzenie w tematykę PHP ........................................................................................... 23
Pierwsze programy w PHP ............................................................................................. 23
Wpisywanie kodu PHP .................................................................................................. 25
Oznaczanie sekcji kodu PHP .................................................................................... 26
Łączenie PHP i HTML .............................................................................................. 27
Instrukcje i komentarze ........................................................................................... 28
W jaki sposób można zapamiętywać dane? .................................................................... 29
Podstawowe typy danych w PHP .................................................................................... 30
Liczby .................................................................................................................... 30
Ciągi znaków .......................................................................................................... 32
Wartości typu boolean ............................................................................................. 35
Przydatne funkcje ......................................................................................................... 36
nl2br ..................................................................................................................... 36
var_dump ............................................................................................................... 36
print_r .................................................................................................................... 37
var_export .............................................................................................................. 37
Podsumowanie ............................................................................................................ 38
Rozdział 2. Język PHP ............................................................................................................................... 39
Więcej informacji o wprowadzaniu ciągów znaków ........................................................... 39
Więcej informacji o typach danych ................................................................................. 41
Tablice ................................................................................................................... 41
Obiekty .................................................................................................................. 42
Specjalne typy i wartości ......................................................................................... 43
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
3
4
PHP i MySQL. Tworzenie aplikacji WWW
Konwersja typów .......................................................................................................... 44
Podstawy ............................................................................................................... 44
Specyficzne rodzaje konwersji typów ......................................................................... 45
Przydatne funkcje do konwersji typów ....................................................................... 49
Zmienne i stałe ............................................................................................................ 51
Definiowanie stałych ............................................................................................... 51
Odwołania do zmiennych przez wartość lub przez referencję ....................................... 51
Zasięg zmiennych ................................................................................................... 53
Czas istnienia zmiennych ........................................................................................ 53
Zmienne predefiniowane ......................................................................................... 54
Wyrażenia i operatory ................................................................................................... 55
Operatory: łączenie wyrażeń ..................................................................................... 55
Łączenie wyrażeń i priorytety operatorów .................................................................. 62
Struktury sterujące ....................................................................................................... 63
Instrukcje if ............................................................................................................ 63
Instrukcja switch ..................................................................................................... 64
Pętle while (do...while) ............................................................................................ 66
Pętle for ................................................................................................................. 67
Pętle foreach .......................................................................................................... 67
Przerwanie działania pętli ........................................................................................ 67
Podsumowanie ............................................................................................................ 69
Rozdział 3. Organizacja kodu i jego wielokrotne wykorzystywanie .....................................................71
Podstawowy mechanizm wielokrotnego wykorzystywania kodu: funkcje ............................. 71
Definiowanie i wywoływanie funkcji ........................................................................... 72
Przekazywanie parametrów do funkcji ....................................................................... 74
Zwracanie wartości przez funkcje ............................................................................. 78
Zasięg zmiennych wewnątrz funkcji .......................................................................... 79
Zasięg i dostępność funkcji ..................................................................................... 83
Funkcje jako zmienne .............................................................................................. 84
Sposób wielokrotnego wykorzystywania kodu dla średnio zaawansowanych:
zastosowanie plików włączanych ................................................................................ 85
Organizacja kodu w plikach ...................................................................................... 86
Wybór nazw plików i folderów ................................................................................... 88
Włączanie plików bibliotecznych w skryptach ............................................................. 90
Zastosowanie mechanizmu włączania do ładowania szablonów stron .......................... 95
Podsumowanie ............................................................................................................ 96
Rozdział 4. Programowanie obiektowe .................................................................................................. 97
Nie tylko biblioteki ....................................................................................................... 97
Programowanie obiektowe .......................................................................................... 100
Podstawowa terminologia ...................................................................................... 100
Podstawowe informacje o programowaniu obiektowym w PHP ................................... 101
Inicjalizowanie i usuwanie obiektów ........................................................................ 105
Dostępność klasy: kto może oglądać informacje ..................................................... 107
Definiowanie statycznych danych wewnątrz klas ...................................................... 109
Rozszerzanie obiektów ............................................................................................... 113
Rozszerzanie zdefiniowanych klas .......................................................................... 114
Więcej o widoczności ............................................................................................ 114
Ponowna implementacja metod klasy bazowej ........................................................ 115
Definiowanie klas w taki sposób, aby działały tak samo: polimorfizm ........................ 116
4
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
Spis treści
5
Inne własności ........................................................................................................... 123
Porównywanie obiektów ......................................................................................... 124
Klonowanie obiektów ............................................................................................ 124
Wyświetlanie wartości obiektów w sposób przyjazny dla użytkownika ......................... 125
Przekazywanie wskazówek dotyczących typów ......................................................... 126
Automatyczne ładowanie ....................................................................................... 127
Podsumowanie .......................................................................................................... 127
Rozdział 5. Tablice ....................................................................................................................................129
Więcej informacji o tablicach ....................................................................................... 129
Tworzenie tablic i umieszczanie w nich danych ........................................................ 130
Dostęp do elementów tablic .................................................................................. 132
Usuwanie elementów i całych tablic ....................................................................... 134
Zliczanie elementów tablicy ................................................................................... 135
Przetwarzanie elementów tablic w pętli ........................................................................ 135
Pętle foreach ........................................................................................................ 135
Pętle standardowe ................................................................................................ 136
Wewnętrzne liczniki pętli oraz metody each, next, prev, pos i reset ........................... 137
Metoda array_walk ................................................................................................ 139
Tablice wielowymiarowe .............................................................................................. 140
Operacje na tablicach ................................................................................................. 141
Sortowanie tablic .................................................................................................. 142
Inne operacje na tablicach ..................................................................................... 145
Podsumowanie .......................................................................................................... 147
Rozdział 6. Ciągi znaków i znaki alfabetów narodowych .....................................................................149
Ciągi znaków w PHP ................................................................................................... 149
W jaki sposób PHP interpretuje ciągi znaków? ......................................................... 150
Zestawy znaków i kodowanie Unicode .......................................................................... 150
Kod ASCII ............................................................................................................ 150
Zestawy znaków ISO 8859 .................................................................................... 151
Zestawy znaków języków dalekowschodnich ............................................................ 151
Unicode ............................................................................................................... 152
Zestawy znaków Unicode ....................................................................................... 153
Zestawy znaków w PHP ............................................................................................... 153
Obsługa innych zestawów znaków .......................................................................... 153
Kłopoty, kłopoty… ................................................................................................ 155
W jaki sposób postępować ze znakami? ................................................................. 156
Konfiguracja PHP w celu wykorzystania kodowania Unicode ........................................... 157
Instalacja i konfiguracja rozszerzeń mbstring i mbrex ............................................... 157
Przeciążanie funkcji ............................................................................................... 157
Operacje na ciągach znaków ....................................................................................... 158
Pobieranie informacji o ciągach znaków .................................................................. 159
Porządkowanie ciągów znaków ............................................................................... 160
Wyszukiwanie i porównywanie ................................................................................ 162
Wydzielanie podciągów .......................................................................................... 165
Zmiana wielkości liter ........................................................................................... 166
Konwersje kodowania ........................................................................................... 167
Podsumowanie .......................................................................................................... 167
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
5
6
PHP i MySQL. Tworzenie aplikacji WWW
Rozdział 7. Interakcje z serwerem: formularze ..................................................................................169
Przykłady formularzy ................................................................................................... 169
Przetwarzanie formularzy HTML ................................................................................... 172
Wprowadzanie formularzy na stronie ....................................................................... 172
W jaki sposób są przesyłane dane? ....................................................................... 174
Dostęp do danych formularzy z poziomu skryptu ...................................................... 176
Formularze a zestawy znaków ................................................................................ 178
Praca z serwerem ...................................................................................................... 179
Środowisko serwera .............................................................................................. 180
Zmienne serwera .................................................................................................. 180
Zmienne środowiskowe ......................................................................................... 185
Przekierowania .......................................................................................................... 186
Podsumowanie .......................................................................................................... 188
Część II Podstawowe wiadomości o bazach danych
189
Rozdział 8. Wprowadzenie do baz danych ..............................................................................................191
Terminologia .............................................................................................................. 191
Podstawy ............................................................................................................. 191
Relacyjne bazy danych .......................................................................................... 193
Powody, dla których warto korzystać z systemów zarządzania bazami danych .................. 194
Czynniki przemawiające przeciwko plikom tekstowym bądź arkuszom kalkulacyjnym ... 194
Serwery baz danych .............................................................................................. 195
Popularne serwery baz danych .................................................................................... 196
MySQL ................................................................................................................. 196
PostgreSQL .......................................................................................................... 197
Oracle .................................................................................................................. 197
Microsoft SQL Server ............................................................................................ 197
Inne ..................................................................................................................... 198
W jaki sposób dokonać wyboru serwera bazy danych? ................................................. 198
Analiza danych ..................................................................................................... 198
Możliwości ........................................................................................................... 199
Wydajność ........................................................................................................... 199
Dostępność z poziomu PHP ................................................................................... 199
Koszty ................................................................................................................. 199
Nasz wybór ................................................................................................................ 200
Wspólne interfejsy ..................................................................................................... 200
Podsumowanie .......................................................................................................... 201
Rozdział 9. Projektowanie i tworzenie baz danych .............................................................................203
Co należy umieścić w bazie danych? ............................................................................ 203
Organizacja danych .................................................................................................... 205
Klucze główne ...................................................................................................... 205
Wybór typów danych .............................................................................................. 206
Organizacja danych w tabele .................................................................................. 210
Indeksy ułatwiające wyszukiwanie .......................................................................... 213
Wprowadzenie do języka SQL ...................................................................................... 213
Tworzenie baz danych ................................................................................................. 215
Komunikacja z serwerem bazy danych .................................................................... 215
Nawiązywanie połączenia i uwierzytelnianie ............................................................. 215
Tworzenie bazy danych .......................................................................................... 216
6
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
Spis treści
7
Nadawanie uprawnień użytkownikom ........................................................................... 217
Przygotowania do tworzenia użytkowników .............................................................. 218
Tworzenie użytkowników ........................................................................................ 219
Usuwanie użytkowników lub uprawnień ................................................................... 220
Tworzenie tabel .......................................................................................................... 221
Typy danych w języku SQL ..................................................................................... 221
Cykl istnienia klienta bazy danych .......................................................................... 225
Tworzenie tabeli ................................................................................................... 225
Mechanizmy zapisu tabel ...................................................................................... 227
Tworzenie indeksów .............................................................................................. 228
Klucze obce i kaskadowe usuwanie rekordów ......................................................... 228
Usuwanie tabel i baz danych ....................................................................................... 230
Podsumowanie .......................................................................................................... 231
Rozdział 10. Wykorzystanie baz danych: przechowywanie i pobieranie informacji ........................233
Zanim zaczniemy ....................................................................................................... 233
Wprowadzanie danych do tabel ................................................................................... 234
Instrukcja INSERT INTO ......................................................................................... 234
Wprowadzanie danych w trybie masowym ............................................................... 235
Wprowadzanie danych innych typów niż tekstowe .................................................... 237
Pobieranie danych z tabel ........................................................................................... 238
Podstawowa składnia ............................................................................................ 239
Łączenie danych z tabel przy pobieraniu ................................................................. 241
Sortowanie pobieranych danych ............................................................................. 244
Pobieranie po kilka wierszy naraz ........................................................................... 245
Modyfikowanie danych w tabelach ............................................................................... 246
Usuwanie danych z tabel ............................................................................................ 247
Podsumowanie .......................................................................................................... 248
Rozdział 11. Wykorzystanie baz danych: zaawansowany dostęp do danych .....................................249
Transakcje ................................................................................................................ 249
Problem ............................................................................................................... 250
Rozwiązanie ......................................................................................................... 251
Pisanie transakcji ................................................................................................. 252
Bardziej złożony problem ....................................................................................... 253
Bardziej zaawansowane zapytania ............................................................................... 255
Łączenie wyrażeń .................................................................................................. 255
Określanie zbiorów i zakresów wartości .................................................................. 256
Pobieranie niepowtarzalnych wartości ..................................................................... 257
Wykorzystanie funkcji SQL w zapytaniach ................................................................ 257
Grupowanie danych dla funkcji agregacji ................................................................. 262
Modyfikowanie schematu tabel ................................................................................... 263
Podsumowanie .......................................................................................................... 264
Rozdział 12. PHP a dostęp do danych .....................................................................................................265
Przygotowania ............................................................................................................ 265
Nawiązywanie połączenia i uwierzytelnianie .................................................................. 267
Kolejność zdarzeń ................................................................................................. 267
Nawiązywanie połączenia ...................................................................................... 268
Ustawianie zestawu znaków obowiązującego dla połączenia ..................................... 270
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
7
8
PHP i MySQL. Tworzenie aplikacji WWW
Wykonywanie zapytań ................................................................................................. 270
Pobieranie danych ................................................................................................ 270
Sprawdzanie poprawności danych wprowadzanych przez użytkownika ........................ 273
Wprowadzanie, usuwanie i aktualizowanie danych ................................................... 275
Transakcje ........................................................................................................... 276
Obsługa błędów rozszerzenia mysqli ....................................................................... 277
Wielokrotne wykorzystywanie zapytań .......................................................................... 279
Wiązanie parametrów ............................................................................................ 280
Wiązanie wyników ................................................................................................. 281
Stara szkoła: interfejsy proceduralne ........................................................................... 282
Podstawowe wiadomości dotyczące proceduralnych interfejsów obsługi baz danych ....... 283
Trwałe połączenia ..................................................................................................... 285
Podsumowanie .............................................................................................................. 286
Część III Planowanie aplikacji internetowych
287
Rozdział 13. Aplikacje internetowe i internet ...........................................................................................289
Światowa pajęczyna „od kuchni” .................................................................................... 289
Internet jest prostszy, niż przypuszczasz .................................................................... 290
Komputery komunikujące się z innymi komputerami .................................................. 290
Protokół HTTP ........................................................................................................... 292
Typy MIME ................................................................................................................ 295
Protokół SSL ............................................................................................................ 295
Inne ważne protokoły ................................................................................................ 299
Projektowanie aplikacji internetowych ............................................................................. 299
Terminologia ............................................................................................................ 300
Prosty układ ............................................................................................................. 300
Interfejs użytkownika ................................................................................................ 302
Implementacja reguł biznesu ..................................................................................... 303
Warstwa tylna — serwer ........................................................................................... 306
Architektury n-warstwowe .......................................................................................... 307
Wydajność i skalowalność ......................................................................................... 307
Podsumowanie .............................................................................................................. 309
Rozdział 14. Implementacja interfejsu użytkownika .................................................................................311
Elementy interfejsu użytkownika ..................................................................................... 311
Czym jest interfejs użytkownika? ............................................................................... 312
Planowanie interfejsu użytkownika ............................................................................ 313
Udzielanie użytkownikom pomocy w rozwiązywaniu problemów ................................... 316
Wskazówki i strategie projektowania ......................................................................... 317
Implementacja interfejsu użytkownika ............................................................................. 319
Kaskadowe arkusze stylów (CSS) .............................................................................. 319
Włączanie plików ...................................................................................................... 322
Biblioteki kodu do generowania interfejsu użytkownika ............................................... 323
Implementacja sterowania interfejsem użytkownika ................................................... 327
Podsumowanie .............................................................................................................. 329
Rozdział 15. Zarządzanie użytkownikami ..................................................................................................331
W jaki sposób użytkownicy łączą się z aplikacjami internetowymi? ................................... 331
Goście a zarejestrowani użytkownicy ............................................................................... 334
Uwierzytelnianie użytkowników ........................................................................................ 335
8
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
Spis treści
9
Logowanie częściowe i pełne .................................................................................... 335
Gdzie można zapisać informacje użytkowników? ........................................................ 336
Co można zapisać, a czego zapisywać nie należy ....................................................... 337
Podsumowanie .............................................................................................................. 339
Rozdział 16. Zabezpieczenia aplikacji internetowych: planowanie i bezpieczeństwo kodu ...............341
Strategie zabezpieczeń ................................................................................................... 341
Co jest najważniejsze? ..............................................................................................342
Równowaga pomiędzy bezpieczeństwem a wygodą użytkowania ................................. 343
Po zakończeniu fazy tworzenia aplikacji ..................................................................... 344
Podstawowe podejście .............................................................................................. 344
Identyfikacja zagrożeń .................................................................................................... 344
Zagrożenia ............................................................................................................... 344
Czarne charaktery ..................................................................................................... 347
Zabezpieczenia kodu ...................................................................................................... 349
Złota zasada ............................................................................................................ 349
Filtrowanie danych wejściowych ................................................................................. 349
Organizacja kodu ...................................................................................................... 355
Co można umieścić w kodzie? ................................................................................... 356
Zagadnienia dotyczące systemu plików ..................................................................... 357
Stabilność kodu i błędy ............................................................................................. 357
Operator wykonywania poleceń powłoki i instrukcja exec ............................................ 358
Podsumowanie .............................................................................................................. 359
Rozdział 17. Zabezpieczenia aplikacji internetowych: bezpieczeństwo sprzętu
i oprogramowania ........................................................................................................ 361
Zabezpieczenia serwerów WWW i PHP ......................................................................... 361
Używaj aktualnego oprogramowania ....................................................................... 362
php.ini ................................................................................................................. 363
Konfiguracja serwera WWW ................................................................................... 364
Serwery wirtualne ................................................................................................. 365
Aplikacje internetowe umieszczone na serwerach komercyjnych ............................... 367
Protokół SSL ............................................................................................................. 368
Zastosowanie SSL w PHP ...................................................................................... 368
Bezpieczeństwo bazy danych ...................................................................................... 370
Użytkownicy i system uprawnień ............................................................................ 370
Wysyłanie danych do serwera ................................................................................ 371
Nawiązywanie połączenia z serwerem ..................................................................... 371
Uruchamianie serwera .......................................................................................... 372
Zabezpieczenia sieci .................................................................................................. 372
Zapory firewall ...................................................................................................... 373
Strefy DMZ ........................................................................................................... 373
Więcej o sieciowych atakach DoS i DDoS ............................................................... 374
Zabezpieczenia komputera i systemu operacyjnego ...................................................... 374
Pamiętaj o aktualizacjach systemu operacyjnego ..................................................... 374
Uruchamiaj tylko te programy, które są potrzebne ................................................... 375
Pamiętaj o fizycznych zabezpieczeniach serwera ...................................................... 375
Plany awaryjne ........................................................................................................... 376
Podsumowanie .......................................................................................................... 377
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
9
10
PHP i MySQL. Tworzenie aplikacji WWW
Część IV Implementacja aplikacji internetowych
379
Rozdział 18. Obsługa błędów i debugowanie ..........................................................................................381
W jaki sposób powstają błędy? ................................................................................... 381
Błędy PHP ............................................................................................................ 381
Błędy w kodzie ..................................................................................................... 383
Błędy zewnętrzne .................................................................................................. 384
W jaki sposób PHP zarządza błędami? ......................................................................... 385
W jaki sposób PHP wyświetla komunikaty o błędach? .............................................. 385
Jakie błędy generuje mechanizm obsługi PHP? ........................................................ 386
Obsługa błędów .................................................................................................... 387
Konfiguracja systemu obsługi błędów w PHP ........................................................... 392
Wyjątki ...................................................................................................................... 392
Podstawowe wiadomości o wyjątkach ..................................................................... 393
Wykorzystanie wyjątków ......................................................................................... 395
Nieobsłużone wyjątki ............................................................................................. 398
Rozszerzanie wyjątków .......................................................................................... 399
Debugowanie ............................................................................................................. 401
Wprowadzenie instrukcji diagnostycznych ................................................................ 401
Debugery kodu źródłowego .................................................................................... 403
Podsumowanie .......................................................................................................... 404
Rozdział 19. Pliki cookie i sesje ..............................................................................................................405
Pliki cookie: niewielkie i przydatne ............................................................................... 405
Podstawowe operacje ........................................................................................... 405
Jak działają pliki cookie? ....................................................................................... 409
Zarządzanie poprawnością plików cookie ................................................................ 410
Usuwanie plików cookie ........................................................................................ 411
Tablice plików cookie ............................................................................................ 411
Co można umieszczać w plikach cookie? ................................................................ 412
Sposoby na „odchudzających się” .......................................................................... 412
Sesje ........................................................................................................................ 413
Podstawowe zastosowanie .................................................................................... 414
Konfiguracja PHP w celu obsługi sesji ..................................................................... 416
W jaki sposób jest przesyłany identyfikator sesji? .................................................... 417
Zapisywanie danych w sesji ................................................................................... 418
Buforowanie stron ................................................................................................ 421
Niszczenie sesji .................................................................................................... 423
W jaki sposób działa pamięć sesji .......................................................................... 424
Bezpieczeństwo sesji ................................................................................................. 428
Uzyskanie identyfikatora sesji ................................................................................ 428
Ograniczanie możliwych zniszczeń spowodowanych przejęciem identyfikatora sesji ........ 429
Podsumowanie .......................................................................................................... 431
Rozdział 20. Uwierzytelnianie ................................................................................................................433
Planowanie logowania ................................................................................................ 433
Uwierzytelnianie realizowane przez serwer WWW .......................................................... 436
Proste uwierzytelnianie HTTP ................................................................................. 436
Schematy uwierzytelniania stosowane w systemie Windows ..................................... 441
Implementacja własnego mechanizmu uwierzytelniania ................................................. 442
Konfiguracja bazy danych pod kątem obsługi logowania ........................................... 443
Dodawanie nowych użytkowników ........................................................................... 444
10
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
Spis treści
11
Logowanie użytkowników ....................................................................................... 453
Aktualizacja stron, które wymagają zalogowania się ................................................. 460
Wylogowywanie użytkowników ................................................................................ 463
Usuwanie użytkowników ........................................................................................ 465
Podsumowanie .......................................................................................................... 466
Rozdział 21. Zaawansowane techniki wysyłania treści do przeglądarki
oraz buforowanie wysyłanej treści .................................................................................467
Globalizacja i parametry regionalne ............................................................................. 467
Parametry regionalne i ich właściwości ................................................................... 468
Ustalanie lokalizacji użytkownika ............................................................................ 468
Ustawianie parametrów regionalnych dla bieżącej strony (Unix) ................................ 470
Ustawianie parametrów regionalnych dla bieżącej strony (Windows) .......................... 472
Poznawanie bieżących parametrów lokalnych .......................................................... 474
Wysyłanie sformatowanej treści .................................................................................. 474
Formatowanie liczb ............................................................................................... 475
Waluty ................................................................................................................. 475
Inne funkcje formatujące ....................................................................................... 478
Buforowanie treści ..................................................................................................... 481
Jak to działa ......................................................................................................... 482
Korzystanie z buforowania treści ............................................................................ 482
Pisanie własnego programu obsługi ....................................................................... 484
Podsumowanie .......................................................................................................... 485
Rozdział 22. Kontrola poprawności danych za pomocą wyrażeń regularnych ................................487
Używanie wyrażeń regularnych ..................................................................................... 487
Czym są wyrażenia regularne? ............................................................................... 488
Instalacja ............................................................................................................. 489
Testowanie wyrażeń .............................................................................................. 489
Proste wyszukiwanie ............................................................................................. 490
Klasy znaków ....................................................................................................... 491
Granice ................................................................................................................ 493
Kropka ................................................................................................................. 494
Repetycja wzorców ................................................................................................ 494
Grupowanie i warianty ........................................................................................... 495
Sztuczki i pułapki .................................................................................................. 495
Kontrola poprawności danych za pomocą wyrażeń regularnych ....................................... 496
Kontrola poprawności nazwy użytkownika ............................................................... 496
Wzorce pasujące do numerów telefonów ................................................................. 497
Wzorce pasujące do kodów pocztowych .................................................................. 498
Wzorce pasujące do adresów e-mail ....................................................................... 499
Inne funkcje operujące na wyrażeniach regularnych .......................................................... 500
Funkcja ereg_replace ............................................................................................ 500
Funkcja split ......................................................................................................... 502
Podsumowanie .......................................................................................................... 503
Rozdział 23. XML i XHTML .......................................................................................................................505
XML .......................................................................................................................... 505
Czym jest XML? .................................................................................................... 506
Kiedy korzystać z XML? ......................................................................................... 507
Podstawowa terminologia ...................................................................................... 508
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
11
12
PHP i MySQL. Tworzenie aplikacji WWW
Struktura dokumentu XML ..................................................................................... 509
Przestrzenie nazw ................................................................................................. 513
Kontrola poprawności XML .................................................................................... 515
Technologie pochodne .......................................................................................... 517
Praca z XML w PHP .................................................................................................... 518
Wybór pomiędzy SAX i DOM ................................................................................... 519
Korzystanie z modelu DOM .................................................................................... 519
XHTML ...................................................................................................................... 530
Po co używać XHTML? ........................................................................................... 530
Jak używać XHTML? .............................................................................................. 531
Konwersja na XHTML ............................................................................................ 533
Podsumowanie .......................................................................................................... 533
Rozdział 24. Pliki i katalogi .....................................................................................................................535
Dostęp do plików ....................................................................................................... 535
Otwieranie plików ................................................................................................. 535
Zamykanie plików ................................................................................................. 538
Odczyt plików ....................................................................................................... 538
Zapis do plików .................................................................................................... 540
Prawa dostępu do plików i inne informacje .............................................................. 542
Usuwanie i zmiana nazw plików ............................................................................. 544
Dostęp do katalogów .................................................................................................. 544
Operowanie ścieżkami dostępu .............................................................................. 545
Przeglądanie zawartości katalogów przy użyciu klas ................................................. 546
Przeglądanie zawartości katalogów za pomocą funkcji ............................................. 546
Zmiana bieżącego katalogu ................................................................................... 547
Tworzenie i usuwanie katalogów ............................................................................ 547
Względy bezpieczeństwa ............................................................................................. 547
Kwestie związane z dostępem do plików ................................................................. 548
Podsumowanie .......................................................................................................... 550
Rozdział 25. Wysyłanie plików do serwera ..........................................................................................551
Wysyłanie do serwera plików użytkownika .................................................................... 551
Na czym polega wysyłanie plików do serwera .......................................................... 551
Konfigurowanie PHP pod kątem wysyłania plików do serwera ................................... 552
Formularz klienta .................................................................................................. 553
Kod po stronie serwera ......................................................................................... 555
Ograniczanie rozmiaru wysyłanego pliku .................................................................. 557
Wysyłanie większej liczby plików ............................................................................. 558
Wysyłanie plików do serwera — przykład ...................................................................... 560
Przygotowania ...................................................................................................... 560
Formularz nowego konta ........................................................................................ 561
Tworzenie nowego konta ....................................................................................... 561
Podgląd danych użytkownika .................................................................................. 564
Pobieranie emblematu z bazy danych ..................................................................... 566
Względy bezpieczeństwa ............................................................................................. 567
Tylko zaufani użytkownicy ...................................................................................... 567
Ataki Denial of Service .......................................................................................... 568
Kontrola poprawności plików ................................................................................. 568
„Złośliwe” nazwy plików ........................................................................................ 568
Podsumowanie .......................................................................................................... 569
12
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
Spis treści
13
Rozdział 26. Operowanie datami i czasem .............................................................................................571
Źródła dat i czasu ...................................................................................................... 571
PHP ..................................................................................................................... 571
System operacyjny ................................................................................................ 572
Serwer bazy danych .............................................................................................. 572
Strony WWW i użytkownicy ..................................................................................... 573
Daty i czas w PHP ...................................................................................................... 574
Datowniki w PHP ................................................................................................... 574
Pobieranie daty i czasu ......................................................................................... 575
Kontrola poprawności daty i czasu ......................................................................... 579
Porównywanie dat i czasu ...................................................................................... 580
Wyświetlanie sformatowanych dat i czasu ............................................................... 583
Problem z datownikami ......................................................................................... 587
Data i czas w serwerach baz danych ............................................................................ 587
Zakresy dat i czasu w popularnych serwerach baz danych ........................................ 587
Dodawanie i odejmowanie interwałów czasowych .................................................... 588
Interpretacja dat w bazach danych ......................................................................... 588
MySQL i datowniki ................................................................................................ 589
Podsumowanie .......................................................................................................... 589
Rozdział 27. Usługi XML Web Services i SOAP ......................................................................................591
Usługi XML Web Services ........................................................................................... 591
Tworzenie platformy .............................................................................................. 592
Wchodzimy do świata usług XML Web Services ....................................................... 592
Szukanie usług Web Services ................................................................................ 593
Jak działają usługi Web Services ................................................................................. 594
SOAP ................................................................................................................... 594
WSDL .................................................................................................................. 595
HTTP ................................................................................................................... 601
XML-RPC .............................................................................................................. 602
Wykorzystywanie usług Web Services w PHP ................................................................ 602
Wybieranie usługi ................................................................................................. 602
Konfiguracja PHP .................................................................................................. 604
Korzystanie z usługi .............................................................................................. 605
Przykład — korzystanie z API wyszukiwarki Google ........................................................ 609
Przygotowanie do korzystania z interfejsów API wyszukiwarki Google ......................... 609
Dalsze poznawanie usługi ..................................................................................... 610
Jak działa wyszukiwanie ........................................................................................ 611
Wyszukiwanie słów kluczowych .............................................................................. 612
Podsumowanie .......................................................................................................... 616
Rozdział 28. Korzystanie z PEAR .............................................................................................................617
Wprowadzenie do PEAR .............................................................................................. 617
Biblioteka kodu .................................................................................................... 618
Klasy podstawowe PEAR ....................................................................................... 618
Społeczność dająca wsparcie ................................................................................ 618
PECL ................................................................................................................... 619
Instalacja i konfiguracja .............................................................................................. 619
Unix ..................................................................................................................... 619
Windows .............................................................................................................. 620
D:ROBOCZ~1MAKIET~1PHPIMY~1 9DRUK~1R00_0_spis.doc
13
14
PHP i MySQL. Tworzenie aplikacji WWW
Podstawowe polecenia ............................................................................................... 621
Udostępnianie pomocy .......................................................................................... 622
Wyświetlanie listy pakietów ................................................................................... 622
Pobieranie i instalowanie pakietów ......................................................................... 623
Pobieranie informacji ............................................................................................ 624
Aktualizacja istniejących pakietów .......................................................................... 625
Odinstalowywanie pakietów ................................................................................... 625
Opcje konfiguracyjne PEAR .................................................................................... 626
Przykład — zastosowanie klasy Date ........................................................................... 626
Instalacja ............................................................................................................. 627
Podstawowy sposób użycia .................................................................................... 627
Dalsze przykłady .....................................................................................
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :