Kolejne, uaktualnione wydanie najbardziej znanego, bestsellerowego podręcznika dla webmasterów na temat tworzenia dynamicznych witryn internetowych!
Ponad 30 000 sprzedanych egzemplarzy poprzednich wydań!!!
Recepta na sukces w przypadku tworzenia profesjonalnych stron WWW jest niezwykle prosta: wystarczą ogromne możliwości PHP, niezrównana wydajność MySQL i wielka, chętna do pomocy społeczność, skupiona wokół tego tandemu. Wynik? Błyskawiczna realizacja zaawansowanych stron i aplikacji internetowych. Wszystko, czego Ci jeszcze trzeba, to fachowa wiedza, pozwalająca wykorzystać ten potencjał!
PHP i MySQL to jeden z najlepszych, najpopularniejszych zestawów do tworzenia rozwiązań internetowych, a książka, którą trzymasz w rękach, to czwarte wydanie bestsellerowego i kultowego już kompendium wiedzy na temat tych narzędzi. Dzięki niej zorientujesz się w każdym z aspektów wykorzystania PHP wraz z bazą danych MySQL. Poznasz język PHP, metody przechowywania i wyszukiwania danych oraz operacje na plikach. Dowiesz się, jak tworzyć uniwersalny kod i sprawnie pracować z bazą danych. Nauczysz się szybko lokalizować i rozwiązywać problemy oraz zapewniać bezpieczeństwo aplikacjom, a także efektywnie stosować technologię AJAX. Podręcznik zawiera także mnóstwo praktycznych przykładów, demonstrujących wykorzystanie PHP i MySQL do realizacji różnych zadań związanych z funkcjonowaniem dynamicznych witryn WWW.
Wybrane zalety PHP i MySQL
Podstawy języka PHP
Metody przechowywania i wyszukiwania danych
Operacje na plikach
Zastosowanie tablic
Wykorzystanie wyrażeń regularnych oraz operacje na ciągach znaków
Tworzenie uniwersalnego kodu -- ponowne jego wykorzystanie
Obiekty w PHP
Obsługa wyjątków i błędów
Praca z bazą danych MySQL
Nawiązywanie połączenia z bazą z poziomu PHP
Administracja MySQL
Zaawansowane zagadnienia, związane z bazą MySQL
Zapewnienie bezpieczeństwa tworzonym rozwiązaniom
Metody uwierzytelniania przy użyciu PHP i MySQL
Wykorzystanie protokołów i funkcji sieci
Generowanie grafik
Wykorzystanie sesji
Obsługa poczty elektronicznej za pomocą PHP
Użycie technologii AJAX
Kultowe kompendium wiedzy na temat tworzenia dynamicznych witryn!
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
Spis treĤci
O autorach ............................................................................................ 23
O wspóãautorach .................................................................................. 25
Wprowadzenie ...................................................................................... 27
CzöĈè I
Stosowanie PHP ..................................................................37
Rozdziaä 1. Podstawowy kurs PHP ........................................................................... 39
Zastosowanie PHP ...............................................................................................................40
Tworzenie przykáadowej aplikacji: „CzĊĞci samochodowe Janka” .....................................40
Formularz zamówienia ..................................................................................................40
Przetwarzanie formularza ..............................................................................................41
Osadzanie PHP w HTML ....................................................................................................42
Zastosowanie znaczników PHP .....................................................................................43
Instrukcje PHP ..............................................................................................................44
OdstĊpy .........................................................................................................................44
Komentarze ...................................................................................................................45
Dodawanie zawartoĞci dynamicznej ....................................................................................45
Wywoáywanie funkcji ...................................................................................................46
UĪywanie funkcji date() ................................................................................................46
DostĊp do zmiennych formularza ........................................................................................47
Zmienne formularza ......................................................................................................47
àączenie ciągów ............................................................................................................49
Zmienne i ciągi znaków ................................................................................................50
Identyfikatory ......................................................................................................................51
Typy zmiennych ..................................................................................................................51
Typy danych w PHP ......................................................................................................51
Siáa typu ........................................................................................................................52
Rzutowanie typu ............................................................................................................52
Zmienne zmiennych ......................................................................................................53
Deklarowanie i uĪywanie staáych ........................................................................................53
ZasiĊg zmiennych ................................................................................................................54
UĪywanie operatorów ..........................................................................................................55
Operatory arytmetyczne ................................................................................................55
Operatory ciągów ..........................................................................................................56
Operatory przypisania ...................................................................................................56
Operatory porównaĔ ......................................................................................................58
Operatory logiczne ........................................................................................................59
Operatory bitowe ...........................................................................................................60
Pozostaáe operatory .......................................................................................................60
Kup książkęPoleć książkę8
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
Rozdziaä 2.
Obliczanie sum w formularzu ..............................................................................................62
PierwszeĔstwo i kolejnoĞü ...................................................................................................63
Zarządzanie zmiennymi .......................................................................................................65
Sprawdzanie i ustawianie typów zmiennych .................................................................65
Sprawdzanie stanu zmiennej .........................................................................................66
Reinterpretacja zmiennych ............................................................................................67
Podejmowanie decyzji za pomocą instrukcji warunkowych ...............................................67
Instrukcja if ...................................................................................................................67
Bloki kodu .....................................................................................................................68
Instrukcja else ...............................................................................................................68
Instrukcja elseif .............................................................................................................69
Instrukcja switch ...........................................................................................................69
Porównanie róĪnych instrukcji warunkowych ...............................................................71
Powtarzanie dziaáaĔ przy uĪyciu iteracji .............................................................................71
PĊtle while .....................................................................................................................72
PĊtle for i foreach ..........................................................................................................73
PĊtle do..while ...............................................................................................................74
Wyáamywanie siĊ ze struktury skryptu ................................................................................75
UĪywanie alternatywnych skáadni struktur sterujących .......................................................75
UĪywanie struktury declare .................................................................................................76
W nastĊpnym rozdziale .......................................................................................................76
Przechowywanie i wyszukiwanie danych .......................................... 77
Zapisywanie danych do póĨniejszego uĪycia ......................................................................77
Przechowywanie i wyszukiwanie zamówieĔ Janka .............................................................78
Przetwarzanie plików ..........................................................................................................79
Otwieranie pliku ..................................................................................................................79
Tryby otwarcia pliku .....................................................................................................79
Stosowanie funkcji fopen() do otwarcia pliku ...............................................................80
Otwieranie pliku przez protokóá FTP lub HTTP ...........................................................82
Problemy z otwieraniem plików ....................................................................................82
Zapisywanie danych w pliku ...............................................................................................84
Parametry funkcji fwrite() .............................................................................................85
Formaty plików .............................................................................................................85
Zamykanie pliku ..................................................................................................................86
Odczyt z pliku .....................................................................................................................87
Otwieranie pliku w celu odczytu — fopen() .................................................................89
Wiedzieü, kiedy przestaü — feof() ................................................................................89
Odczytywanie pliku wiersz po wierszu — fgets(), fgetss() i fgetcsv() ..........................89
Odczyt caáego pliku — readfile(), fpassthru(), file() .....................................................90
Odczyt pojedynczego znaku — fgetc() .........................................................................91
Odczytywanie zadanej dáugoĞci — fread() ....................................................................91
Inne przydatne funkcje plikowe ...........................................................................................91
Sprawdzanie istnienia pliku — file_exists() ..................................................................92
OkreĞlanie wielkoĞci pliku — filesize() ........................................................................92
Kasowanie pliku — unlink() .........................................................................................92
Poruszanie siĊ wewnątrz pliku — rewind(), fseek() i ftell() ..........................................92
Blokowanie pliku ................................................................................................................93
Lepszy sposób obróbki danych — systemy zarządzania bazami danych ...........................94
Problemy związane ze stosowaniem plików jednorodnych ...........................................95
Jak RDBMS rozwiązują powyĪsze problemy? ..............................................................95
Propozycje dalszych lektur ..................................................................................................96
W nastĊpnym rozdziale .......................................................................................................96
Kup książkęPoleć książkęRozdziaä 3.
Spis treĤci
9
Stosowanie tablic .................................................................................. 97
Czym są tablice? ..................................................................................................................97
Tablice indeksowane numerycznie ......................................................................................98
Inicjowanie tablic indeksowanych numerycznie ...........................................................98
DostĊp do zawartoĞci tablicy .........................................................................................99
DostĊp do tablic przy zastosowaniu pĊtli ....................................................................100
Tablice z innymi indeksami ...............................................................................................100
Inicjowanie tablicy ......................................................................................................100
DostĊp do elementów tablicy ......................................................................................101
Stosowanie pĊtli ..........................................................................................................101
Operatory tablicowe ..........................................................................................................103
Tablice wielowymiarowe ..................................................................................................103
Sortowanie tablic ...............................................................................................................106
Stosowanie funkcji sort() ............................................................................................106
Stosowanie funkcji asort() i ksort() do porządkowania tablic .....................................107
Sortowanie odwrotne ...................................................................................................107
Sortowanie tablic wielowymiarowych ...............................................................................108
Typy sortowaĔ definiowane przez uĪytkownika .........................................................108
Odwrotne sortowanie zdefiniowane przez uĪytkownika .............................................109
Zmiany kolejnoĞci elementów w tablicach ........................................................................110
Stosowanie funkcji shuffle() .......................................................................................110
Stosowanie funkcji array_reverse() .............................................................................111
àadowanie tablic z plików .................................................................................................112
Wykonywanie innych dziaáaĔ na tablicach ........................................................................114
Poruszanie siĊ wewnątrz tablicy
— funkcje each(), current(), reset(), end(), next(), pos() i prev() .............................114
Doáączanie dowolnej funkcji do kaĪdego elementu tablicy — funkcja array_walk() ....115
Liczenie elementów tablicy: count(), sizeof() i array_count_values() .........................116
Konwersja tablic na zmienne skalarne — funkcja extract() ........................................117
Propozycje dalszych lektur ................................................................................................118
W nastĊpnym rozdziale .....................................................................................................118
Rozdziaä 4. Manipulowanie ciĈgami i wyraİenia regularne .............................. 119
Przykáadowa aplikacja — Inteligentny Formularz Pocztowy ...........................................119
Formatowanie ciągów .......................................................................................................121
Przycinanie ciągów — funkcje chop(), ltrim() i trim() ................................................121
Formatowanie ciągów w celu ich prezentacji ..............................................................122
Formatowanie ciągów do przechowania — funkcje addslashes() i stripslashes() ......125
àączenie i rozdzielanie ciągów za pomocą funkcji ciągów ...............................................127
Stosowanie funkcji explode(), implode() i join() .........................................................127
Stosowanie funkcji strtok() .........................................................................................128
Stosowanie funkcji substr() .........................................................................................128
Porównywanie ciągów .......................................................................................................129
Porządkowanie ciągów — funkcje strcmp(), strcasecmp() i strnatcmp() ....................129
Sprawdzanie dáugoĞci ciągu za pomocą funkcji strlen() ..............................................130
Dopasowywanie i zamiana podciągów za pomocą funkcji ciągów ...................................130
Znajdowanie ciągów w ciągach — funkcje strstr(), strchr(), strrchr() i stristr() ..........131
Odnajdywanie pozycji podciągu — funkcje strpos() i strrpos() ..................................131
Zamiana podciągów — funkcje str_replace() i substr_replace() .................................132
Wprowadzenie do wyraĪeĔ regularnych ............................................................................133
Podstawy .....................................................................................................................133
Zbiory i klasy znaków .................................................................................................134
PowtarzalnoĞü .............................................................................................................135
PodwyraĪenia ..............................................................................................................135
PodwyraĪenia policzalne .............................................................................................135
Kup książkęPoleć książkę10
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
Rozdziaä 5.
Kotwiczenie na początku lub na koĔcu ciągu ..............................................................136
RozgaáĊzianie ..............................................................................................................136
Dopasowywanie specjalnych znaków literowych .......................................................136
Podsumowanie znaków specjalnych ...........................................................................137
Umieszczanie wszystkiego razem (Inteligentny Formularz) .......................................137
Odnajdywanie podciągów za pomocą wyraĪeĔ regularnych .............................................138
Zamiana podciągów za pomocą wyraĪeĔ regularnych ......................................................139
Rozdzielanie ciągów za pomocą wyraĪeĔ regularnych .....................................................139
Propozycje dalszych lektur ................................................................................................140
W nastĊpnym rozdziale .....................................................................................................140
Ponowne wykorzystanie kodu i tworzenie funkcji ........................... 141
Zalety ponownego stosowania kodu ..................................................................................141
Koszt ...........................................................................................................................142
NiezawodnoĞü .............................................................................................................142
SpójnoĞü ......................................................................................................................142
Stosowanie funkcji require() i include() ............................................................................142
Rozszerzenia plików i require() ...................................................................................143
Stosowanie require() w szablonach stron WWW ..............................................................144
Stosowanie opcji auto_prepend_file i auto_append_file .............................................148
Stosowanie funkcji w PHP ................................................................................................149
Wywoáywanie funkcji .................................................................................................149
Wywoáanie niezdefiniowanej funkcji ..........................................................................151
WielkoĞü liter a nazwy funkcji ....................................................................................152
Definiowanie wáasnych funkcji .........................................................................................152
Podstawowa struktura funkcji ...........................................................................................152
Nadawanie nazwy funkcji ...........................................................................................153
Parametry ..........................................................................................................................154
ZasiĊg ................................................................................................................................156
Przekazanie przez referencjĊ czy przekazanie przez wartoĞü? ..........................................158
Stosowanie sáowa kluczowego return ................................................................................159
Zwracanie wartoĞci przez funkcje .....................................................................................160
Implementacja rekurencji ..................................................................................................161
Przestrzenie nazw ........................................................................................................162
Propozycje dalszych lektur ................................................................................................163
W nastĊpnym rozdziale .....................................................................................................163
Rozdziaä 6. Obiektowy PHP .................................................................................... 165
Koncepcje programowania obiektowego ...........................................................................165
Klasy i obiekty ............................................................................................................166
Polimorfizm ................................................................................................................167
Dziedziczenie ..............................................................................................................167
Tworzenie klas, atrybutów i operacji w PHP .....................................................................168
Struktura klasy ............................................................................................................168
Konstruktory ...............................................................................................................168
Destruktory ..................................................................................................................169
Tworzenie egzemplarzy .....................................................................................................169
Stosowanie atrybutów klasy ..............................................................................................170
Kontrolowanie dostĊpu przy uĪyciu private i public .........................................................172
Wywoáywanie operacji klas ...............................................................................................172
Implementacja dziedziczenia w PHP .................................................................................173
Kontrolowanie widocznoĞci w trakcie dziedziczenia przy uĪyciu private i protected .174
UniewaĪnianie .............................................................................................................175
Zapobieganie dziedziczeniu i uniewaĪnianiu przy uĪyciu final ..................................176
Wielodziedziczenie .....................................................................................................177
Implementowanie interfejsów .....................................................................................177
Kup książkęPoleć książkęSpis treĤci
11
Tworzenie klas ..................................................................................................................178
Tworzenie kodu dla wáasnej klasy .....................................................................................179
Zaawansowane mechanizmy obiektowe w PHP ................................................................186
UĪywanie staáych klasowych ......................................................................................186
Implementowanie metod statycznych .........................................................................186
Sprawdzanie typu klasy i wskazywanie typu ..............................................................186
PóĨne wiązania statyczne ............................................................................................187
Klonowanie obiektów .................................................................................................188
UĪywanie klas abstrakcyjnych ....................................................................................188
PrzeciąĪanie metod przy uĪyciu __call() .....................................................................188
UĪywanie metody __autoload() ..................................................................................189
Implementowanie iteratorów i iteracji .........................................................................190
Przeksztaácanie klas w áaĔcuchy znaków ....................................................................191
UĪywanie API Reflection ............................................................................................192
W nastĊpnym rozdziale .....................................................................................................192
Rozdziaä 7. Obsãuga bãčdów i wyjĈtków .............................................................. 195
Koncepcja obsáugi wyjątków .............................................................................................195
Klasa Exception .................................................................................................................196
Wyjątki definiowane przez uĪytkownika ..........................................................................197
Wyjątki w CzĊĞciach samochodowych Janka ....................................................................200
Wyjątki i inne mechanizmy obsáugi báĊdów w PHP ..........................................................202
Propozycje dalszych lektur ................................................................................................203
W nastĊpnym rozdziale .....................................................................................................203
CzöĈè II
Stosowanie MySQL ...........................................................205
Rozdziaä 8. Projektowanie internetowej bazy danych ........................................ 207
Koncepcje relacyjnych baz danych ...................................................................................208
Tabele ..........................................................................................................................208
Kolumny .....................................................................................................................208
Wiersze .......................................................................................................................208
WartoĞci ......................................................................................................................208
Klucze .........................................................................................................................209
Schematy .....................................................................................................................209
Relacje .........................................................................................................................210
Jak zaprojektowaü internetową bazĊ danych? ...................................................................211
OkreĞl obiekty Ğwiata realnego, których model chcesz wykonaü ................................211
Unikaj przechowywania redundantnych danych .........................................................211
Zapisuj atomowe wartoĞci kolumn ..............................................................................213
Dobierz wáaĞciwe klucze .............................................................................................214
PomyĞl o zapytaniach, które zadasz bazie ...................................................................214
Unikaj tworzenia tabel z wieloma pustymi polami .....................................................214
Typy tabel — podsumowanie ......................................................................................215
Architektura internetowej bazy danych .............................................................................215
Propozycje dalszych lektur ................................................................................................216
W nastĊpnym rozdziale .....................................................................................................216
Tworzenie internetowej bazy danych ............................................... 217
UĪytkowanie monitora MySQL ........................................................................................218
Logowanie siĊ do serwera MySQL ...................................................................................219
Tworzenie baz i rejestrowanie uĪytkowników ..................................................................220
Definiowanie uĪytkowników i przywilejów ......................................................................220
Rozdziaä 9.
Kup książkęPoleć książkę12
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
Wprowadzenie do systemu przywilejów MySQL .............................................................221
Zasada najmniejszego przywileju ................................................................................221
Rejestrowanie uĪytkowników: polecenie GRANT ......................................................221
Typy i poziomy przywilejów ......................................................................................223
Polecenie REVOKE ....................................................................................................224
Przykáady uĪycia poleceĔ GRANT i REVOKE ..........................................................225
Rejestrowanie uĪytkownika áączącego siĊ z internetu .......................................................226
UĪywanie odpowiedniej bazy danych ...............................................................................226
Tworzenie tabel bazy danych ............................................................................................227
Znaczenie dodatkowych atrybutów kolumn ................................................................228
Typy kolumn ...............................................................................................................229
Rzut oka na bazĊ danych — polecenia SHOW i DESCRIBE .....................................231
Tworzenie indeksów ...................................................................................................232
Identyfikatory MySQL ......................................................................................................232
Wybór typów danych w kolumnach ..................................................................................233
Typy liczbowe .............................................................................................................233
Propozycje dalszych lektur ................................................................................................236
W nastĊpnym rozdziale .....................................................................................................237
Rozdziaä 10. Praca z bazĈ danych MySQL ............................................................. 239
Czym jest SQL? ................................................................................................................239
Zapisywanie danych do bazy .............................................................................................240
Wyszukiwanie danych w bazie ..........................................................................................242
Wyszukiwanie danych speániających okreĞlone kryteria ............................................243
Wyszukiwanie danych w wielu tabelach .....................................................................245
Szeregowanie danych w okreĞlonym porządku ...........................................................249
Grupowanie i agregowanie danych .............................................................................250
Wskazanie wierszy, które mają byü wyĞwietlone .......................................................252
UĪywanie podzapytaĔ .................................................................................................252
Dokonywanie zmian rekordów w bazie danych ................................................................255
Zmiana struktury istniejących tabel ...................................................................................255
Usuwanie rekordów z bazy danych ...................................................................................257
Usuwanie tabel ..................................................................................................................257
Usuwanie caáych baz danych .............................................................................................258
Propozycje dalszych lektur ................................................................................................258
W nastĊpnym rozdziale .....................................................................................................258
Rozdziaä 11. âĈczenie sič z bazĈ MySQL za pomocĈ PHP .................................... 259
Jak dziaáa internetowa baza danych? .................................................................................259
Wykonywanie zapytaĔ do bazy danych z poziomu strony WWW ....................................262
Sprawdzenie poprawnoĞci wpisanych danych .............................................................263
Ustanawianie poáączenia z bazą danych ......................................................................264
Wybór wáaĞciwej bazy danych ....................................................................................265
Wysyáanie zapytaĔ do bazy danych ............................................................................265
Odczytywanie rezultatów zapytaĔ ...............................................................................266
Zamykanie poáączenia z bazą danych .........................................................................267
Wstawianie nowych danych do bazy .................................................................................267
UĪywanie instrukcji przygotowywanych ...........................................................................270
UĪywanie innych interfejsów bazodanowych PHP ...........................................................272
Stosowanie ogólnego interfejsu bazodanowego: PEAR MDB2 ..................................272
Propozycje dalszych lektur ................................................................................................274
W nastĊpnym rozdziale .....................................................................................................274
Kup książkęPoleć książkęSpis treĤci
13
Rozdziaä 12. Administrowanie MySQL dla zaawansowanych .............................. 275
Szczegóáy systemu przywilejów ........................................................................................275
Tabela user ..................................................................................................................276
Tabele db i host ...........................................................................................................278
Tabele tables_priv, columns_priv i procs_priv ...........................................................278
Kontrola dostĊpu: w jaki sposób MySQL uĪywa tabel przywilejów ...........................279
Zmiana przywilejów: kiedy zmiany zostaną uwzglĊdnione? ......................................281
Ochrona bazy danych ........................................................................................................282
MySQL z perspektywy systemu operacyjnego ...........................................................282
Hasáa ...........................................................................................................................282
Przywileje uĪytkowników ...........................................................................................283
MySQL i internet ........................................................................................................283
Uzyskiwanie szczegóáowych informacji o bazie danych ...................................................284
Uzyskiwanie informacji poleceniem SHOW ...............................................................284
Uzyskiwanie informacji o kolumnach za pomocą polecenia DESCRIBE ...................286
Jak wykonywane są zapytania: polecenie EXPLAIN ..................................................286
Optymalizowanie bazy danych ..........................................................................................291
Optymalizacja projektu bazy danych ..........................................................................291
Przywileje ....................................................................................................................291
Optymalizacja tabel .....................................................................................................291
Stosowanie indeksów ..................................................................................................292
UĪywanie wartoĞci domyĞlnych ..................................................................................292
WiĊcej wskazówek ......................................................................................................292
Tworzenie kopii zapasowej bazy danych MySQL ............................................................292
Przywracanie bazy danych MySQL ..................................................................................293
Implementowanie replikacji ..............................................................................................293
Konfigurowanie serwera nadrzĊdnego ........................................................................294
Transfer danych początkowych ...................................................................................294
Konfigurowanie odbiorcy lub odbiorców ....................................................................295
Propozycje dalszych lektur ................................................................................................296
W nastĊpnym rozdziale .....................................................................................................296
Rozdziaä 13. Zaawansowane programowanie w MySQL ...................................... 297
Instrukcja LOAD DATA INFILE .....................................................................................297
Maszyny zapisu .................................................................................................................298
Transakcje .........................................................................................................................299
Definicje dotyczące transakcji .....................................................................................299
UĪycie transakcji w InnoDB .......................................................................................300
Klucze obce .......................................................................................................................301
Procedury skáadowane .......................................................................................................302
Prosty przykáad ............................................................................................................302
Zmienne lokalne ..........................................................................................................304
Kursory i struktury sterujące .......................................................................................305
Propozycje dalszych lektur ................................................................................................308
W nastĊpnym rozdziale .....................................................................................................308
CzöĈè III
E-commerce i bezpieczeęstwo ......................................309
Rozdziaä 14. Komercyjne witryny internetowe ....................................................... 311
Co chcemy osiągnąü? ........................................................................................................311
Rodzaje komercyjnych stron WWW .................................................................................311
Publikowanie informacji w broszurach internetowych ................................................312
Przyjmowanie zamówieĔ na produkty i usáugi ............................................................315
Dostarczanie usáug lub wyrobów mających postaü cyfrową .......................................319
Kup książkęPoleć książkę14
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
ZwiĊkszanie wartoĞci produktów i usáug ....................................................................319
Ograniczanie kosztów .................................................................................................320
Ryzyko i zagroĪenia ..........................................................................................................320
Crackerzy ....................................................................................................................321
PrzyciągniĊcie niewystarczającej liczby klientów .......................................................321
Awarie sprzĊtu komputerowego ..................................................................................322
Awarie sieci elektrycznych, komunikacyjnych i komputerowych
oraz systemu wysyákowego ......................................................................................322
Silna konkurencja ........................................................................................................322
BáĊdy w oprogramowaniu ...........................................................................................323
Zmiany polityki rządowej ...........................................................................................323
Ograniczenie pojemnoĞci systemów ...........................................................................323
Wybór strategii ..................................................................................................................323
W nastĊpnym rozdziale .....................................................................................................324
Rozdziaä 15. Bezpieczeęstwo komercyjnych stron WWW ..................................... 325
Jaką wagĊ mają posiadane przez nas informacje? .............................................................326
ZagroĪenia bezpieczeĔstwa ...............................................................................................326
Ujawnienie informacji poufnych .................................................................................327
Utrata lub zniszczenie danych .....................................................................................328
Modyfikacje danych ....................................................................................................329
Blokada usáugi .............................................................................................................330
BáĊdy w oprogramowaniu ...........................................................................................331
Zaprzeczenie korzystania z usáugi ...............................................................................332
UĪytecznoĞü, wydajnoĞü, koszty i bezpieczeĔstwo ...........................................................333
Opracowanie polityki bezpieczeĔstwa ...............................................................................333
Zasady uwierzytelniania ....................................................................................................334
Podstawy szyfrowania .......................................................................................................335
Szyfrowanie z kluczem prywatnym ............................................................................336
Szyfrowanie z kluczem publicznym ............................................................................337
Podpis cyfrowy ............................................................................................................338
Certyfikaty cyfrowe ...........................................................................................................339
Bezpieczne serwery WWW ...............................................................................................339
Monitorowanie i zapisywanie zdarzeĔ ..............................................................................340
Zapory sieciowe ................................................................................................................341
Tworzenie kopii zapasowych ............................................................................................342
Tworzenie kopii zapasowych zwykáych plików ..........................................................342
Tworzenie kopii zapasowych i odzyskiwanie baz danych MySQL .............................342
BezpieczeĔstwo fizyczne ...................................................................................................343
W nastĊpnym rozdziale .....................................................................................................343
Rozdziaä 16. Bezpieczeęstwo aplikacji internetowych ......................................... 345
Strategie zapewniania bezpieczeĔstwa ..............................................................................345
Planowanie z wyprzedzeniem .....................................................................................346
Równowaga miĊdzy bezpieczeĔstwem i uĪytecznoĞcią ..............................................346
Monitorowanie bezpieczeĔstwa ..................................................................................347
Ogólne podejĞcie do bezpieczeĔstwa ..........................................................................347
Rozpoznawanie zagroĪeĔ ..................................................................................................347
DostĊp do danych poufnych i ich modyfikowanie ......................................................347
Utrata lub zniszczenie danych .....................................................................................348
Zablokowanie usáugi ...................................................................................................348
Wstrzykiwanie kodu ....................................................................................................349
Záamanie zabezpieczeĔ dostĊpu do serwera ................................................................349
Identyfikacja uĪytkowników .............................................................................................349
Crackerzy ....................................................................................................................350
NieĞwiadomi uĪytkownicy zainfekowanych komputerów ..........................................350
Kup książkęPoleć książkęSpis treĤci
15
Rozczarowani pracownicy ..........................................................................................350
Záodzieje sprzĊtu komputerowego ..............................................................................350
Autorzy systemów .......................................................................................................350
Zabezpieczanie kodu Ĩródáowego ......................................................................................351
Filtrowanie danych pochodzących od uĪytkowników .................................................351
UniewaĪnianie danych wynikowych ...........................................................................355
Organizacja kodu Ĩródáowego .....................................................................................356
ZawartoĞü kodu Ĩródáowego .......................................................................................357
Zagadnienia dotyczące systemu plików ......................................................................358
StabilnoĞü kodu i báĊdy ...............................................................................................358
Apostrofy wykonywania poleceĔ systemu operacyjnego i polecenie exec .................359
Zabezpieczanie serwera WWW oraz PHP .........................................................................360
Regularne uaktualnianie oprogramowania ..................................................................361
Analiza ustawieĔ w pliku php.ini ................................................................................362
Konfiguracja serwera WWW ......................................................................................362
Aplikacje internetowe dziaáające na serwerach komercyjnych ...................................364
BezpieczeĔstwo serwera bazy danych ...............................................................................365
UĪytkownicy i system uprawnieĔ ...............................................................................365
Wysyáanie danych do serwera .....................................................................................366
àączenie siĊ z serwerem ..............................................................................................366
Praca serwera ..............................................................................................................367
Zabezpieczanie sieci ..........................................................................................................367
Instalacja zapory sieciowej ..........................................................................................368
Wykorzystanie strefy zdemilitaryzowanej ..................................................................368
Przygotowanie na ataki DoS i DDoS ..........................................................................369
BezpieczeĔstwo komputerów i systemów operacyjnych ...................................................369
Uaktualnianie systemu operacyjnego ..........................................................................369
UdostĊpnianie tylko niezbĊdnych usáug ......................................................................370
Fizyczne zabezpieczenie serwera ................................................................................370
Planowanie dziaáaĔ na wypadek awarii .............................................................................371
W nastĊpnym rozdziale .....................................................................................................372
Rozdziaä 17. Uwierzytelnianie przy uİyciu PHP i MySQL ........................................ 373
Identyfikacja uĪytkowników .............................................................................................373
Implementacja kontroli dostĊpu ........................................................................................374
Przechowywanie haseá dostĊpu ...................................................................................376
Szyfrowanie haseá .......................................................................................................378
Zastrzeganie wiĊcej niĪ jednej strony ..........................................................................379
Podstawowa metoda uwierzytelniania ...............................................................................380
Wykorzystanie podstawowej metody uwierzytelniania w PHP .........................................381
Wykorzystanie podstawowej metody uwierzytelniania na serwerze Apache
przy uĪyciu plików .htaccess ..........................................................................................383
Wykorzystanie moduáu mod_auth_mysql do celów uwierzytelniania ...............................386
Instalacja moduáu mod_auth_mysql ............................................................................386
Praca z mod_auth_mysql ............................................................................................387
Implementacja wáasnej metody uwierzytelniania ..............................................................388
Propozycje dalszych lektur ................................................................................................388
W nastĊpnym rozdziale .....................................................................................................389
Rozdziaä 18. Zabezpieczanie transakcji przy uİyciu PHP i MySQL ....................... 391
Zapewnienie bezpieczeĔstwa transakcji ............................................................................391
Komputer uĪytkownika ...............................................................................................392
Internet ........................................................................................................................393
System docelowy ........................................................................................................394
Wykorzystanie protokoáu Secure Sockets Layer (SSL) ....................................................395
Kontrola danych pochodzących od uĪytkownika ..............................................................398
Kup książkęPoleć książkę16
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
Bezpieczne przechowywanie danych ................................................................................399
Ustalanie, czy powinno siĊ przechowywaü numery kart kredytowych ..............................400
Szyfrowanie danych w PHP ..............................................................................................401
Instalacja GPG ............................................................................................................401
Testowanie GPG .........................................................................................................404
Propozycje dalszych lektur ................................................................................................408
W nastĊpnej czĊĞci ............................................................................................................408
CzöĈè IV
Rozdziaä 19.
Zaawansowane techniki PHP ..........................................409
Interakcja z systemem plików i serwerem ....................................... 411
Wprowadzenie do wysyáania plików .................................................................................411
Kod HTML sáuĪący do wysyáania plików ...................................................................412
Tworzenie PHP obsáugującego plik ............................................................................413
NajczĊĞciej spotykane problemy .................................................................................417
Stosowanie funkcji katalogowych .....................................................................................418
Odczyt z katalogów .....................................................................................................418
Otrzymywanie informacji na temat aktualnego katalogu ...........................................421
Tworzenie i usuwanie katalogów ................................................................................421
Interakcja z systemem plików ...........................................................................................422
Otrzymywanie informacji o pliku ...............................................................................422
Zmiana wáaĞciwoĞci pliku ...........................................................................................424
Tworzenie, usuwanie i przenoszenie plików ...............................................................425
Stosowanie funkcji uruchamiających programy ................................................................425
Interakcja ze Ğrodowiskiem: funkcje getenv() i putenv() ..................................................427
Propozycje dalszych lektur ................................................................................................428
W nastĊpnym rozdziale .....................................................................................................428
Rozdziaä 20. Stosowanie funkcji sieci i protokoãu .................................................. 429
Przegląd protokoáów ..........................................................................................................429
Wysyáanie i odczytywanie poczty elektronicznej ..............................................................430
Korzystanie z danych z innych witryn WWW ...................................................................430
Stosowanie funkcji poáączeĔ sieciowych ..........................................................................433
Tworzenie kopii bezpieczeĔstwa lub kopii lustrzanej pliku ..............................................436
Stosowanie FTP w celu utworzenia kopii bezpieczeĔstwa lub kopii lustrzanej pliku ......436
Wysyáanie plików ........................................................................................................442
Unikanie przekroczenia dopuszczalnego czasu ...........................................................442
Stosowanie innych funkcji FTP ...................................................................................443
Propozycje dalszych lektur ................................................................................................443
W nastĊpnym rozdziale .....................................................................................................444
Rozdziaä 21. ZarzĈdzanie datĈ i czasem ................................................................ 445
Uzyskiwanie informacji o dacie i czasie w PHP ................................................................445
Stosowanie funkcji date() ............................................................................................445
Obsáuga znaczników czasu Uniksa .............................................................................447
Stosowanie funkcji getdate() .......................................................................................448
Sprawdzanie poprawnoĞci dat przy uĪyciu funkcji checkdate() ..................................449
Formatowanie znaczników czasu ................................................................................450
Konwersja pomiĊdzy formatami daty PHP i MySQL ........................................................450
Obliczanie dat w PHP ........................................................................................................452
Obliczanie dat w MySQL ..................................................................................................454
Stosowanie mikrosekund ...................................................................................................455
Stosowanie funkcji kalendarzowych .................................................................................455
Propozycje dalszych lektur ................................................................................................456
W nastĊpnym rozdziale .....................................................................................................456
Kup książkęPoleć książkęSpis treĤci
17
Rozdziaä 22. Generowanie obrazków .................................................................... 457
Konfigurowanie obsáugi obrazków w PHP ........................................................................457
Formaty obrazków .............................................................................................................458
JPEG ...........................................................................................................................459
PNG .............................................................................................................................459
WBMP ........................................................................................................................459
GIF ..............................................................................................................................459
Tworzenie obrazków .........................................................................................................460
Tworzenie kadru obrazka ............................................................................................460
Rysowanie lub umieszczanie tekstu w obrazku ...........................................................461
WyĞwietlanie ostatecznej grafiki .................................................................................463
KoĔcowe czynnoĞci porządkujące ..............................................................................464
Stosowanie automatycznie generowanych obrazków na innych stronach .........................464
Stosowanie tekstu i czcionek do tworzenia obrazków .......................................................465
Konfiguracja podstawowego kadru .............................................................................467
Dopasowanie tekstu do przycisku ...............................................................................468
Nadawanie tekstowi odpowiedniej pozycji .................................................................470
Wpisywanie tekstu do przycisku .................................................................................471
Etap koĔcowy ..............................................................................................................471
Rysowanie figur i wykresów danych .................................................................................471
Inne funkcje obrazków ......................................................................................................478
Propozycje dalszych lektur ................................................................................................478
W nastĊpnym rozdziale .....................................................................................................478
Rozdziaä 23. Stosowanie kontroli sesji w PHP ......................................................... 479
Czym jest kontrola sesji? ...................................................................................................479
Podstawowa zasada dziaáania sesji ....................................................................................479
Czym jest cookie? .......................................................................................................480
Konfiguracja cookies w PHP ......................................................................................480
Stosowanie cookies w sesji .........................................................................................481
Przechowywanie identyfikatora sesji ..........................................................................481
Implementacja prostych sesji .............................................................................................482
Rozpoczynanie sesji ....................................................................................................482
Zgáaszanie zmiennych sesji .........................................................................................482
Stosowanie zmiennych sesji ........................................................................................483
Usuwanie zmiennych i niszczenie sesji .......................................................................483
Przykáad prostej sesji .........................................................................................................483
Konfiguracja kontroli sesji ................................................................................................485
Implementacja uwierzytelniania w kontroli sesji ...............................................................485
Propozycje dalszych lektur ........................................
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ą :