Miałem dziś przyjemność przejrzeć jedną z zeszłorocznych pozycji książkowych wydawnictwa Helion na temat bezpiecznych stron WWW. Dla początkującego programisty PHP jest to dość dobre źródło informacji o potencjalnych zagrożeniach, ale rozwiązania są tylko pobieżnie zarysowane. Niestety, mam wrażenie, że pod względem znajomości problemów cross-site/zone oraz internacjonalizacji aplikacji jesteśmy sto lat za Murzynami.
Dla przykładu - kod z okładki, zgodny z zaleceniami autorów odnośnie XSS (wyraźnie sugerują stosowanie funkcji strip_tags, która nie sprawdza się w przypadku wartości atrybutów):
<p align =”center”>
<a href=”index.php?<?php echo strip_tags (SID)?>”>
Click to continue</a></p>
Chciałbym zgłosić podatność książki na XSS ;)
Trochę pocieszający jest fakt, że nawet tym największym serwisom zdarzają się spore wpadki - na przykład MySpace wciąż ma problemy z filtrami XSS (rekord to cztery kolejne nieskuteczne poprawki w tym samym miejscu). A propos MySpace - polecam lekturę artykułu How Not to Distribute Security Patches.
Aktualizacja (10 stycznia): Piąta poprawka na MySpace
Ta książka zawiera sporo innych błędów i ogólnie mówiąc jest śmieciem, jeśli chodzi o bezpieczne programowanie. Osobiście polecam: http://helion.pl/ksiazki/phpbep.htm
Książka Shifletta jest rzeczywiście bardzo dobra. Wprawdzie praktycznie całą zawartość można znaleźć w jego publikacjach w internecie, to jednak warto mieć wszystko w jednym miejscu. To jak do tej pory chyba jedyna naprawdę sensowna pozycja (w tematyce bezpieczeństwa PHP), jaka ukazała się po polsku. Mam nadzieję, że doczekamy się też “php|architect’s Guide to PHP Security”.