Recenzja magazynu PHP Solutions 2/2006
Programując w języku php, ba, w jakimkolwiek języku, nigdy nie można lekceważyć niebezpieczeństwa, jakie niesie ze sobą brak "szczelności" aplikacji i podatność na szkodliwe działanie osób nam nieprzyjaznych. Aplikacje, skrypty internetowe, których kanałem wejściowym są formularze, muszą być zabezpieczone przed możliwością "wstrzyknięcia" złośliwego kodu. Jeżeli bezpieczeństwo Twoich aplikacji i skryptów php nie jest Ci obojętne, z pewnością zainteresuje Cię tematyka ataków XSS i CSRF, którym m.in. poświęcono najnowszy numer magazynu PHP Solutions.
Numer 2/2006 otwiera interesujący wywiad z Elizabeth Bauer, redaktorem i administratorem niemieckiej wersji Wikipedii, pełniącej także funkcję rzecznika prasowego Wikimedia Foundation. Elizabeth Bauer opowiada o początkach i bolączkach Wikipedii, wykorzystywanej obecnie infrastrukturze i oprogramowaniu oraz ekipie obsługującej całe przedsięwzięcie.
W dziale POCZĄTKI znajdziemy artykuł, omawiający wzorce projektowe w php, który zgodnie z zamiarem autorów - Pawła Kozłowskiego i Piotra Szarwasa - ma otwierać cykl poświęcony tej dziedzinie, od a do z.
W części TECHNIKI przygotowano dwa artykuły. Pierwszy poświęcono projektowaniu aplikacji zorientowanych obiektowo. Piotr Kozłowski, na przykładzie forum internetowego, przedstawia w nim przejrzyste i efektywne pisanie aplikacji w tym modelu.
Kolejny artykuł, to część druga tematu Service Data Objects, czyli uniwersalny standard dostępu do danych, zapoczątkowanego w numerze 1/2006. W części drugiej omówiono zastosowanie XML do przechowywania danych.
Dział NARZĘDZIA zajmuje tylko jeden artykuł, jednak istotny dla pozycji PHP pośród innych języków programowania. Mowa w nim o tworzeniu rozwiązań klasy enterprise, czyli rozwiązań biznesowych przy zastosowaniu architektury Solarix iConnect. Językowi PHP5, który ponoć dorównuje Javie, brakuje - zdaniem autora tekstu - architektury, która "w sposób precyzyjny definiuje sposób określania struktury i logicznego podziału aplikacji, do której można by się odwoływać projektując i pisząc programy." To zadanie spełnia architektura Solaria iConnect, która ma wypełniać lukę pomiędzy innymi językami, uznawanymi w środowiskach biznesowych.
W dziale BEZPIECZEŃSTWO znajdziemy obszerny artykuł nt. ataków XSS i CSRF, o którym wspominałem we wprowadzeniu. Zapoznanie się z tym tekstem powinno być lekturą obowiązkową, każdego programisty, który "dorwie" ten numer PHP Solutions.
W kolejnym dziale - PROJEKTY - pokazano (w dwóch odrębnych artykułach) jak zbudować prosty monitor serwera działający w oparciu o php i gd oraz generator faktur za pomocą programu Glade, służącego do tworzenia graficznych interfejsów użytkownika (GUI).
Na CD
... nowość - php solutions live - bootowalna dystrybucja Linuksa oparta o Aurox Live 11, która pełni funkcję platformy testowej dla opisanych w artykułach aplikacji (np. monitor serwera) oraz tworzenia i korzystania z własnych skryptów.
Oprócz PHP Live, jak co numer, na płycie można znaleźć pakiet programów przydatnych w tworzeniu skryptów w php.
Podsumowanie
Myślę, że kolejny numer PHP Solutions mimo, że jest trudniejszy, to ciekawszy od poprzedniego (1/2006). Owa trudność polega na tym, że PHP Solutions jest przeznaczony dla praktyków, osób zajmujących się na co dzień profesjonalnie php. Widać to niemal w każdym akapicie artykułów umieszczonych w numerze (prócz pierwszego). Jestem prawie pewny, że początkujący programista poczuje się zagubiony w gąszczu zaawansowanych technik programowania obiektowego, wzorców projektowych itp.
Nie jestem również zadowolony z nacisku na stosowanie PHP5, jaki wywierają autorzy tekstów (prawie wszystko co opisane wymaga PHP5). PHP5 wciąż jest tworzony obok wersji PHP4 i wykorzystywany na serwerach produkcyjnych dużo, dużo rzadziej niż PHP4, ze względu na brak pełnej kompatybilności z wieloma aplikacjami.
Kolejną, niestety, wadą magazynu jest poświęcenie stosunkowo niewiele miejsca dla początkujących lub tych, którzy chcieliby dopiero co nauczyć się języka. Na polskim rynku w sumie brak magazynów, czasopism poświęconych PHP od podstaw, a dział POCZĄTKI jest tego jedynie dostateczną namiastką, bo raczej odnosi się do wiedzy bardzo prostej do opanowania, a nie podstaw języka.
Co razi (obiecuję, że już koniec z krytyką), przynajmniej w porównaniu z poprzednim numerem, to nieostre (niektóre) screenshoty, które można by zrobić odrobinę lepiej.
Są i dobre strony numeru, bowiem ciekawą nowością (a miłym krokiem w stronę czytelnika) jest umieszczenie przy każdym artykule trzypunktowego stopnia trudności (w postaci pustych i zapełnionych kropek), który, obok wspomnianego przeze mnie w poprzedniej recenzji "Co należy wiedzieć", pozwala zorientować się w poziomie zaawansowania technik opisywanych w tekście.