PHP. Praktyczne skrypty, ktˇre oszczŕdz▒ Twˇj czas.pdf

(356 KB) Pobierz
PHP. Praktyczne skrypty, które oszczędzą Twój czas
PHP. Praktyczne skrypty,
które oszczêdz¹ Twój czas
Autor: William Steinmetz, Brian Ward
T³umaczenie: Miko³aj Szczepaniak
ISBN: 978-83-246-1851-4
That Make Difficult Things Possible
Format: 80x235, stron: 248
Obszerny zbiór przydatnych skryptów! Musisz go mieæ!
Jak skonfigurowaæ œrodowisko PHP?
Jak tworzyæ bezpieczne skrypty PHP?
Jakie skrypty musisz znaæ?
PHP jest ³atwym w u¿yciu jêzykiem skryptowym. £atwym, a przez to niezwykle popularnym.
Jednak, czy ktoœ mówi³, ¿e w ³atwym jêzyku nie mo¿na napotkaæ na skomplikowane
problemy? Niestety odpowiedz brzmi – nie. Jednak nie za³amuj r¹k! Dziêki swej popularnoœci,
w sieci istnieje niezliczona liczba stron zawieraj¹cych informacje, które mog¹ byæ przydatne
w rozwi¹zywaniu Twoich problemów.
Ale po co szukaæ pere³ek wœród masy kiepskich rozwi¹zañ? Czy¿ nie lepiej siêgn¹æ po
ksi¹¿kê, która zawiera³aby rozwi¹zania najczêstszych zadañ? Oczywiœcie, ¿e tak. W³aœnie
tak¹ ksi¹¿kê trzymasz przed sob¹! Ksi¹¿ka ta zawiera blisko 80 skryptów pozwalaj¹cych
na rozwi¹zanie najró¿niejszych zadañ, pocz¹wszy od formatowania dat i ci¹gów znaków,
skoñczywszy na skryptach wykorzystuj¹cych pocztê elektroniczn¹. Dziêki tej ksi¹¿ce dowiesz
siê miêdzy innymi, jak tworzyæ bezpieczne skrypty oraz pracowaæ z formularzami. Dodatkowo
poznasz sposoby konfiguracji samego PHP. Dziêki ksi¹¿ce Praktyczne skrypty, które
oszczêdz¹ Twój czas twoje skrypty bêd¹ lepsze, a Ty zyskasz wiêcej wolnego czasu!
Zestaw skryptów, które musi znaæ ka¿dy programista
Tworzenie szablonów Smarty
Konfigurowanie œrodowiska PHP
Przegl¹d wszystkich ustawieñ PHP
Zastosowanie pakietu SafeHTML
Zapobieganie atakom XSS
Zapewnienie bezpieczeñstwa w skryptach PHP
Generowanie losowych hase³
Praca z formularzami
Weryfikacja danych z formularza
Weryfikacja kart kredytowych
Operacje wykonywane na datach
Praca z tekstem oraz kodem HTML
Wykorzystanie plików w codziennej pracy
Monitorowanie sesji u¿ytkownika
Mechanizm logowania do aplikacji
Tworzenie obrazów CAPTCHA
Operowanie danymi w formacie XML
Operowanie grafik¹
Nie traæ czasu na poszukiwanie dobrych rozwi¹zañ! Miej je pod rêk¹!
119562178.001.png 119562178.002.png
Spis treci
WPROWADZENIE ....................................................................................... 9
1.
NAJCZCIEJ ZADAWANE YCIOWE PYTANIA — SKRYPTY,
KTÓRE KADY PROGRAMISTA PHP CHCE (MUSI) ZNA ...................... 11
Skrypt nr 1: Doczenie innego pliku w formie czci danego skryptu ..................................12
Co moe pój nie po naszej myli? ...................................................................................13
Skrypt nr 2: Naprzemienne kolorowanie wierszy tabeli ........................................................15
Doskonalenie tego skryptu ................................................................................................16
Skrypt nr 3: Tworzenie czy Poprzednia/Nastpna ..............................................................18
Stosowanie tego skryptu ....................................................................................................21
Skrypt nr 4: Wywietlanie zawartoci tablicy .........................................................................22
Skrypt nr 5: Przeksztacanie tablicy w zmienn .....................................................................23
nietablicow z moliwoci przywrócenia oryginalnej struktury ...........................................24
Co moe pój nie po naszej myli? ...................................................................................24
Skrypt nr 6: Sortowanie tablic wielowymiarowych ................................................................25
Doskonalenie tego skryptu ................................................................................................26
Skrypt nr 7: Tworzenie dla witryny internetowej szablonów Smarty ....................................26
Instalacja biblioteki Smarty .................................................................................................27
Krótki podrcznik Smarty ..................................................................................................28
Co moe pój nie po naszej myli? ...................................................................................29
Doskonalenie tego skryptu ................................................................................................30
2.
KONFIGUROWANIE PHP ......................................................................... 31
Ustawienia konfiguracyjne i plik php.ini .................................................................................31
Lokalizowanie pliku php.ini ................................................................................................32
Skrypt nr 8: Odkrywanie wszystkich ustawie PHP ..............................................................33
Skrypt nr 9: Odczytywanie poszczególnych ustawie ........................................................33
Skrypt nr 10: Raportowanie o bdach ...................................................................................35
Typowe komunikaty o bdach ..........................................................................................35
Skrypt nr 11: Ukrywanie wszystkich komunikatów o bdach .............................................. 37
Skrypt nr 12: Wyduanie czasu wykonywania skryptu ......................................................... 38
Co moe pój nie po naszej myli? ................................................................................... 38
Skrypt nr 13: Uniemoliwianie uytkownikom wysyania wielkich plików ........................... 38
Skrypt nr 14: Wyczanie rejestrowanych zmiennych globalnych ......................................... 39
Skrypt nr 15: Wczanie „magicznych cudzysowów” ........................................................... 39
Co moe pój nie po naszej myli? ................................................................................... 40
Skrypt nr 16: Ograniczanie dostpu PHP do plików ......................................................... 40
Co moe pój nie po naszej myli? ................................................................................... 41
Skrypt nr 17: Wyczanie obsugi okrelonych funkcji ........................................................... 41
Skrypt nr 18: Dodawanie rozszerze do PHP ....................................................................... 41
Dodawanie rozszerze jzyka PHP ................................................................................... 43
Instalacja rozszerze za pomoc internetowego panelu sterowania ................................. 44
Co moe pój nie po naszej myli? ................................................................................... 48
3.
BEZPIECZESTWO W PHP ....................................................................... 49
Ustawienia konfiguracyjne zalecane z uwagi na bezpieczestwo .......................................... 51
Skrypt nr 19: Wstrzykiwanie kodu jzyka SQL ..................................................................... 52
Skrypt nr 20: Zapobieganie prostym atakom typu XSS ......................................................... 54
Skrypt nr 21: Stosowanie pakietu SafeHTML ........................................................................ 56
Co moe pój nie po naszej myli? ................................................................................... 57
Skrypt nr 22: Ochrona danych za pomoc jednokierunkowej funkcji generujcej skróty ..... 58
Doskonalenie tego skryptu ................................................................................................ 59
Skrypt nr 23: Szyfrowanie danych za pomoc rozszerzenia Mcrypt ..................................... 60
Doskonalenie tego skryptu ................................................................................................ 62
Skrypt nr 24: Generowanie hase losowych .......................................................................... 62
Stosowanie tego skryptu ................................................................................................... 63
4.
PRACA Z FORMULARZAMI ..................................................................... 65
rodki bezpieczestwa: formularze nie s godne zaufania .................................................... 65
Strategie weryfikacji .............................................................................................................. 66
Stosowanie zmiennych $_POST, $_GET, $_REQUEST
oraz $_FILES do uzyskiwania dostpu do danych formularza ............................................... 67
Skrypt nr 25: Spójne i bezpieczne uzyskiwanie zmiennych formularza ................................. 67
Skrypt nr 26: Usuwanie zbdnych znaków biaych .................................................................... 68
Skrypt nr 27: Importowanie zmiennych formularza do tablicy ............................................. 69
Skrypt nr 28: Sprawdzanie, czy odpowied naley do zbioru prawidowych wartoci ......... 72
Doskonalenie tego skryptu ................................................................................................ 73
Skrypt nr 29: Stosowanie wielu przycisków akceptacji formularza ....................................... 74
Skrypt nr 30: Weryfikacja kart kredytowych ......................................................................... 74
Stosowanie tego skryptu ................................................................................................... 77
Doskonalenie tego skryptu ................................................................................................ 77
4
Spis treci
Skrypt nr 31: Podwójne sprawdzanie daty wyganicia wanoci karty kredytowej .............77
Stosowanie tego skryptu ....................................................................................................79
Skrypt nr 32: Sprawdzanie poprawnoci adresów poczty elektronicznej ..............................79
Skrypt nr 33: Sprawdzanie poprawnoci numerów telefonu .................................................80
5.
PRACA Z TEKSTEM I KODEM JZYKA HTML .......................................... 83
Skrypt nr 34: Wyodrbnianie fragmentu acucha ....................................................................83
Doskonalenie tego skryptu ................................................................................................86
Skrypt nr 35: Zmiana liter acucha na wielkie,
mae lub wielkie litery na pocztku wyrazów ........................................................................86
Co moe pój nie po naszej myli? ...................................................................................87
Skrypt nr 36: Odnajdywanie podacuchów ..........................................................................88
Co moe pój nie po naszej myli? ...................................................................................89
Skrypt nr 37: Zastpowanie podacuchów ...........................................................................89
Co moe pój nie po naszej myli? ...................................................................................90
Skrypt nr 38: Odnajdywanie i poprawianie literówek za pomoc moduu pspell ..................91
Praca ze sownikiem domylnym .......................................................................................91
Dodawanie sownika niestandardowego do biblioteki pspell .............................................94
Co moe pój nie po naszej myli? ...................................................................................95
Skrypt nr 39: Wyraenia regularne ........................................................................................96
Podstawy wyrae regularnych .........................................................................................96
Sekwencje znaków specjalnych ..........................................................................................97
Repetytory wzorców .........................................................................................................98
Grupowanie .......................................................................................................................99
Klasy znaków ......................................................................................................................99
Poczenie wszystkich omówionych elementów ...............................................................99
Dopasowywanie i wyodrbnianie tekstu za pomoc wyrae regularnych .....................100
Zastpowanie podacuchów za pomoc wyrae regularnych ......................................102
Skrypt nr 40: Przebudowa tabeli jzyka HTML ...................................................................103
Skrypt nr 41: Tworzenie screen scrapera ............................................................................104
Doskonalenie tego skryptu ..............................................................................................106
Skrypt nr 42: Konwersja zwykego tekstu na prawidowy kod jzyka HTML .....................106
Skrypt nr 43: Automatyczna konwersja adresów URL na hipercza ..................................109
Skrypt nr 44: Usuwanie znaczników jzyka HTML z acuchów .........................................110
6.
PRACA Z DATAMI ................................................................................. 113
Jak liczony jest czas w systemie UNIX .................................................................................113
Skrypt nr 45: Uzyskiwanie biecego znacznika czasowego ................................................114
Skrypt nr 46: Uzyskiwanie znacznika czasowego dla daty z przeszoci lub w przyszoci .....115
Tworzenie znaczników czasowych na podstawie acucha .............................................115
Tworzenie znaczników czasowych na podstawie wartoci dat .......................................117
Skrypt nr 47: Formatowanie daty i godziny .........................................................................118
Skrypt nr 48: Wyznaczanie dnia tygodnia na podstawie danej daty .....................................121
Spis treci
5
Skrypt nr 49: Odnajdywanie rónic dzielcych dwie daty ................................................... 121
Stosowanie tego skryptu ................................................................................................. 123
Doskonalenie tego skryptu .............................................................................................. 123
Formaty dat systemu MySQL .............................................................................................. 123
7.
PRACA Z PLIKAMI ................................................................................ 125
Uprawnienia dostpu do plików ......................................................................................... 125
Uprawnienia ustawiane za porednictwem programu FTP ............................................ 127
Wiersz polece ................................................................................................................ 127
Co moe pój nie po naszej myli? ................................................................................. 127
Skrypt nr 50: Umieszczanie zawartoci pliku w zmiennej ................................................... 128
Doskonalenie tego skryptu .............................................................................................. 130
Co moe pój nie po naszej myli? ................................................................................. 131
Skrypt nr 51: Tworzenie plików i zapisywanie danych w plikach ....................................... 131
Skrypt nr 52: Sprawdzanie, czy interesujcy nas plik istnieje .............................................. 132
Skrypt nr 53: Usuwanie plików ........................................................................................... 133
Skrypt nr 54: Wysyanie obrazów do katalogu .................................................................... 133
Stosowanie tego skryptu ................................................................................................. 138
Co moe pój nie po naszej myli? ................................................................................. 138
Doskonalenie tego skryptu .............................................................................................. 138
Skrypt nr 55: Odczytywanie plików z danymi oddzielonymi przecinkami .......................... 138
8.
LEDZENIE UYTKOWNIKA I SESJI ...................................................... 141
ledzenie danych uytkownika z wykorzystaniem ciasteczek i sesji ................................... 142
Ciasteczka ........................................................................................................................ 142
Sesje ................................................................................................................................. 143
Skrypt nr 56: Tworzenie komunikatu
„Witaj ponownie, nazwa_uytkownika!” z wykorzystaniem ciasteczek .................................. 144
Co moe pój nie po naszej myli? ................................................................................. 145
Skrypt nr 57: Wykorzystywanie sesji do tymczasowego skadowania danych .................... 146
Co moe pój nie po naszej myli? ................................................................................. 148
Skrypt nr 58: Sprawdzanie, czy przegldarka internetowa uytkownika obsuguje ciasteczka .....148
Skrypt nr 59: Przekierowywanie uytkowników na inne strony ......................................... 150
Skrypt nr 60: Wymuszanie na uytkownikach
stosowania stron szyfrowanych za pomoc SSL .................................................................. 151
Skrypt nr 61: Uzyskiwanie informacji o kliencie .................................................................. 151
Skrypt nr 62: Limity czasowe sesji ....................................................................................... 156
Skrypt nr 63: Prosty system logowania ............................................................................... 158
9.
PRACA Z POCZT ELEKTRONICZN ................................................... 161
Skrypt nr 64: Wysyanie wiadomoci poczty elektronicznej
z wykorzystaniem pakietu PHPMailer ................................................................................. 162
6
Spis treci
Zgłoś jeśli naruszono regulamin