Dekompilacja plików .class
Dobry dekompilator, to narzędzie, które docenia zapewne każdy programista, nie tylko Javy. Ważnym tu jednak jest nacisk na słowo kluczowe „dobry”.
Dobry dekompilator, to narzędzie, które docenia zapewne każdy programista, nie tylko Javy. Ważnym tu jednak jest nacisk na słowo kluczowe „dobry”.
Services (ang. usługi) jest to mechanizm wbudowany w środowisko Java, umożliwiający tworzenie aplikacji rozszerzalnych o dodatkowe funkcje dostarczane za pomocą plug-in’ów, zwanych też wtyczkami.
Zanim przejdę do przykładowej implementacji, pozwolę sobie odnieść się do oryginalnego dokumentu, w którym omawiany jest mechanizm działania services, a który możemy znaleźć na stronach Sun’a.
Zdarza się czasem, że przydałoby się wyciągnąć z jar’a jakiejś biblioteki informacje na przykład o numerze jej wersji lub jej dostawcy. O ile dostanie się do pliku manifestu (/META-INF/MANIFEST.MF) z poziomu Javy nie powinno stanowić problemu, to wyciągnięcie jakichkolwiek informacji z poziomu Ant’a nie wydaje się już takie oczywiste.
Gdy ostatecznie zdecydowałem, że to WP będzie platformą, na bazie której zbuduję swoją stronę, wpadło mi do głowy, że poza funkcjonalnością CMS’a, równie ważne jest też jego bezpieczeństwo. Zrobiłem zatem małe rozpoznanie w tym temacie, a wnioski do jakich doszedłem postaram się streścić poniżej. Jednak, aby nie była to czcza paplanina, przedstawię na praktycznym przykładzie, jak można zabezpieczyć (mam nadzieję w miarę skutecznie) instancję WordPress’a już od pierwszych chwil jej życia.
SSL, jak zapewne wiecie (a jeśli nie wiecie, to zapraszam na Google), służy do zabezpieczenia strony internetowej przed podsłuchiwaniem przesyłanych poprzez nią danych, jak również umożliwia ochronę przed oszustami próbującymi podszyć się pod nasz serwis, pod warunkiem, że nasi odwiedzający wiedzą, że strona nasza zabezpieczona jest certyfikatem i za każdym razem, gdy na nią wchodzą, sprawdzają, czy informacje o takim certyfikacie wyświetlają się w okolicach paska adresu przeglądarki internetowej (np: tak jak na stronach banków). Sam korzystam z certyfikatu SSL, do zabezpieczenia strony logowania i panelu administracyjnego tego blog’a.
Zdarzyło się kilka razy, że potrzebowałem takiej właśnie funkcjonalności. Niestety, nie znalazłem nigdzie żadnego sensownego gotowca, więc ostatecznie sam napisałem taką oto prostą klasę narzędziową. Jest ona zależna od biblioteki commons-lang, jednak przy odrobinie chęci można się tejże zależności bez problemu pozbyć.