Dziurawy Firefox ?

Chyba każdy o tym wie, niestety jedna z najpopularniejszych przeglądarek internetowych ma dość dokuczliwą przypadłość – mam na myśli wycieki pamięci, oraz nie zwalnianie zagospodarowanych zasobów – efekt 90MB zajętej pamięci RAM po codziennym przeglądzie blogów. Przydatnym narzędziem dla pierwszej przypadłości może być rozszerzenie Leak Monitor przeznaczone głównie dla developerów, jednak może okazać się przydatnym w codziennej pracy. Rozszerzenie to jest dostępne pod adresem https://addons.mozilla.org/firefox/2490/

(more…)

Bezpieczny safe_mode ?

Jak często mamy do czynienia na serwera współdzielonych z włączonym tak zwanym trybem bezpiecznym czyli safe_mode, jednak czy tryb ten ma coś wspólnego z bezpieczeństwem ? Jak się bowiem okazuje stwarza on bowiem zwykłe pozory bezpieczeństwa, utwierdzając mniej obeznanych administratorów w przekonaniu, iż jest on złotym środkiem na ich problemy z bezpieczeństwem skryptów PHP na ich serwerze.
Ale może od początku – czym jest właściwie safe_mode? Ogólnie mówiąc safe_mode wymusza sprawdzanie właściciela pliku który jest wykonywany oraz właściciela zasobu (pliku, folderu), na którym ma zostać wywołana akcja dopuszczając jedynie operacje gdzie zasób i skrypt należą do tego samego właściciela. W mniej restrykcyjnym podejściu sprawdzanie może polegać na porównaniu wyłącznie grupy do której należy zasób. Brzmi sensownie? – możliwe, jednak w rzeczywistości rozwiązanie to sprawia więcej problemów, i stwarza jedynie pozory bezpieczeństwa (oczywiście odpowiednia konfiguracja serwera może zmniejszyć te pozory przekładając to na rzeczywiste bezpieczeństwo), niemniej jednak czy zrekomensuje to utrudnienia jakie spowoduje? Moim zdaniem nie (i wydaje mi się, iż zdanie to jest zgodne z myślą twórców PHP, bowiem od PHP 6.0 safe_mode zostanie zlikwidowany)

(more…)

Transparentne PNG w Internet Explorer ?

Chyba każdy zna problem z transparentnym plikiem PNG w przeglądarce Microsoft Internet Explorer, ale ilu z Nas zna rozwiązanie tego problemu? Wszyscy z utęsknieniem wypatrują nowej wersji IE7, która ma rozwiązać wspomniany problem – jednak wciąż mamy tylko wersję beta.

Dlatego też postanowiłem przedstawić rozwiązanie, które znalazłem i dzięki któremu możemy cieszyć się transparentnym PNG w przeglądarce IE 5.5 oraz IE 6.0.

(more…)

Przydatne rozszerzenia Firefox

FirefoxTworząc aplikacje i witryny internetowe na co dzień spotykamy się z zagadnieniami debagowania, czy śledzenia zmian, dlatego też postanowiłem przedstawić kilka rozszerzeń do przeglądarki Firefox, które wykorzystuje na co dzień, i które ułatwiają mi prace.

WebDeveloperWebDeveloper - niezastąpione narzędzie wspomagające prace, o jego możliwościach można już zacząć pisać książkę. Rozszerzenie to dostępne jest również w polskiej wersji językowej. W czym ułatwia życie? – pozwala między innymi na:

  • zarządzanie cache przeglądarki,
  • obsługa Java oraz JavaScript
  • zarządzanie Cookies (w tym dodanie własnego)
  • edycja, włączanie, wyłączanie css
  • zarządzanie formularzami – włączanie pól, zmiana metody wysyłania formularza, konwertowanie typów pól
  • informacje o obrazkach (również dynamicznych, obrazkach tła)
  • obramowanie elementów – obrazków, warstw, tabel
  • informacje o elementach, atrybutach, linkach, stylach, javascript, nagłówkach itd.
  • skalowanie witryny, dopasowanie do rozdzielczości,
  • uruchamianie narzędzi zewnętrznych: walidatorów, konsoli JavaScript
  • ułatwienie dostępu do źródła strony

To tylko część z możliwości rozszerzenia, po więcej informacji odsyłam na witrynę projektu: http://chrispederick.com/work/webdeveloper/

(more…)

Alternatywa dla dotdeb.org

Nie wiem czy to przypadek, zbieg okoliczności czy jak to nazwać, ale jeśli jednego dnia z trzech źródeł natrafiam na informacje o tych samych zasobach musi coś w tym być. Ściślej mówiąc chodzi mi o pakiety dotdeb.org, z którymi maił problem m.in. Normanos – ja również miałem przygody z tymi paczkami – dlatego też chciałbym polecić coś co sam wypróbowałem i z czego jestem zadowolony – mianowicie paczki przygotowane przez Piotra Roszatyckiego – zawiera osobne paczki dla modułów na bieżąco aktualizowane (obecna wersja to 5.1.4). Paczki dostępne są dla wielu dystrybucji debiana (woody, Sarze czy sid) jak również Buntu (breezy, hoary). Pakiety dostępne są pod adresem http://people.debian.org/~dexter/dists/all/

php|architect’s Guide to PHP Security

Nigdy nie byłem dobry z języka polskiego, dlatego tez nie ma co się spodziewać dobrej recenzji na temat “php|architect’s Guide to PHP Security” autorstwa Ilia Alshanetsky. Ksiązka ta dostępna jest poprzez internetowa witrynę phparchitect.com w wersji PDF jak również papierowej - osobiście preferuje wydania drukowane niemniej jednak tutaj postanowiłem zrobić wyjątek - i jestem z tego w 100% zadowolony - blisko 200 stronnicowe (po odliczeniu index i okładek) wydanie elektroniczne przetrawiłem przez jeden z styczniowych weekendów. Ksiązka ta z pewnością dostarcza cały arsenał informacji jak zabezpieczyć się przed problemami, porusza tematy związane z bezpieczeństwem chyba każdego z elementów aplikacji web. Początkowo spodziewałem się szerokiej publikacji na temat tego dlaczego złe jest używanie registry_globals, i dlaczego warto walidować dane wejściowe - jednak juz po pierwszych stronach mogłem się przekonać ze ksiązka porusza temat znacznie szerzej. Omówione zostały w niej zagadnienia związane z XSS, SQL Injection, Code Injection, Command Injection oraz bezpieczeństwo sesji i kilka innych nie mniej ważnych zagadnień związanych z bezpieczeństwem. Każdy z 10 rozdziałów prezentuje się w podobny sposób - omówienie problemu, przykłady ataków, oraz omówienie sposobów zabezpieczania się przed nimi - począwszy od prostych wbudowanych w php rozwiązań (których wady są przedstawiane dokładnie - jeśli takowe są) po indywidualne rozwiązania. Ksiązka ta układa się w logiczną całość, a zapoznanie się z jej zawartością moim zdaniem powinno być obowiązkiem każdego programisty PHP. Cóż więcej mogę na ten temat powiedzie - książka jest bardzo cennym uzupełnieniem mojej dotychczasowej wiedzy i zapewne każdy znajdzie cos dla siebie.

PEAR bez PHPUnit

Jak poinformował Sebastian Bergmann na swoim blogu – przenosi środowisko prac nad chyba najpopularniejszym frameworkiem testów jednostkowych dla PHP (PHPUnit) poza świat PEAR. Zmiany te jak tłumaczy Bergmann spowodowane są zarówno względami osobistymi jak również technicznymi. Z nowości związanych z przenosinami można przedstawić:

  • wykorzystanie Subversion na miejsce CVS,
  • listy mailngowe,
  • system Trac
  • PHPUnit Poczet Guide tworzony z wykorzystaniem DocBook/XML

Jak również możemy przeczytać - przyszłe wersje PHPUnit będą dystrybuowane z wykorzystaniem oddzielnego kanału PEAR