AJAX i bezpieczeństwo serwerowych skryptów Grzegorz Wójcik

AJAX - proszek do prania

Jeśli Twoja publiczna aplikacja internetowa bardzo intensywnie korzysta z technologii AJAX powinieneś zadać sobie pytanie, czy serwerowe skrypty obsługujące takie requesty są należycie zabezpieczone – okazać się może bowiem, że z ich dobrodziejstw korzystasz nie tylko Ty…

Rozważmy następujący scenariusz: na stronie głównej naszego serwisu (index.php) wyświetlamy listę artykułów. Klikając w link „komentarze” przy danym artykule, za pośrednictwem technologii AJAX pytamy skrypt po stronie serwera (komentarze.php) o listę komentarzy dla danego artykułu. Czytaj dalej »

Czytaj więcej:
Artykuły » AJAX, PHP
Tagi:
, ,

Jak postawić spambloga na WordPressie? Grzegorz Wójcik

Czy wiecie, że według niektórych badań ponad 50% blogosfery stanowią spamblogi? Spamblog to specjalnie zaprogramowany blog, który „pisze się sam” wykorzystując do tego celu treści z zewnętrznych źródeł (najczęściej nielegalnie).

Spamblogi wykorzystywane są przede wszystkim do zarabiania na reklamie kontekstowej (Google AdSense) i nieuczciwego pozycjonowania stron. Powszechną praktyką jest tworzenie swoistych „farm” wzajemnie podlinkowanych spamblogów w subdomenach. Takie spam-sieci wykorzystują najczęściej popularne skrypty open-source.

Oczywiście nasz tytułowy spamblog będzie opary na WordPressie i będzie to tylko teoretyczne studium przypadku, które pozwoli nam przeanalizować i połączyć w jedną całość trzy ciekawe obszary funkcjonalności tego systemu oferowane deweloperom:

  • pobieranie zewnętrznych kanałów RSS za pomocą wykorzystywanych przez WP bibliotek
  • używanie WordPressowego XML-RPC API do programowego dodawania postów (zdecydowanie najciekawsze zagadnienie)
  • używanie WordPressowego harmonogramu zadań do cyklicznego odpalania funkcji

W naszym przykładzie „przejdziemy na ciemną stronę mocy” i stworzymy edukacyjny plugin zmieniający domyślną instalację WP w spambloga, który co godzinę sprawdza zdefiniowane kanały RSS i pobiera z każdego z nich ostatni wpis. Następnie na podstawie pobranych z RSS informacji automatycznie „pisze” posty na bloga i umieszcza je w odpowiednich kategoriach. Testową instalację WP z pluginem w działaniu możecie zobaczyć tutaj.

Przystąpmy do omówienia krok po kroku kodu naszej wtyczki (.zip). Czytaj dalej »

Czytaj więcej:
Artykuły » WordPress
Tagi:
, ,

Jak pozbyć się Wykop-owej ramki? Grzegorz Wójcik

Niedawno w serwisie Wiadomosci24.pl pojawił się dosyć kontrowersyjny artykuł na temat działalności polskich klonów Digga czyli serwisów Wykop.pl, Wyczaj.to czy Sfora.pl. Główną tezą artykułu jest oskarżenie wyżej wymienionych o pasożytnictwo na cudzych treściach poprzez otwieranie ich w tzw. ramce w ramach przeglądarki (ang. frameset) i nabijanie sobie w ten sposób oglądalności – kluczowej z punktu widzenia reklamodawców.

Nie wnikając głębiej w szczegóły tej dyskusji, poniżej prezentuję krótki kod JavaScript, który pozwala zabezpieczyć się przed otwieraniem naszej strony w jakiejkolwiek ramce – kod umieszczamy zaraz na początku w sekcji head:

  1. <script type="text/javascript">
  2. if (top != self) {
  3. top.location.href = location.href;
  4. }
  5. </script>

Każdy, kto choć trochę interesuje się standardami WWW, użytecznością czy SEO powie Wam, że ramki są złe i nie powinno się ich stosować. Dlatego fajnie by było, aby na Wykopie czy innych serwisach tego typu były domyślnie wyłączone i aktywowane tylko z woli użytkownika.

Pomysłowość ludzka nie zna granic. Jakiś „talent” zarejestrował domenę wirtualnyburdel.pl, pod którą podpiął stronę Sejmu w tzw. pływającej ramce (iframe). Jak podaje tvn24.pl żartowniś może liczyć się z poważnymi konsekwencjami. Oczywiście podany powyżej kod JavaScript zabezpiecza naszą stronę również przed osadzaniem w ramce typu iframe.

Czytaj więcej:
Artykuły » JavaScript
Tagi:
, ,

Okrągłe rogi (round corners) tylko za pomocą CSS Grzegorz Wójcik

Seksowne krągłości są świetnym sposobem na podniesienie atrakcyjności wizualnej strony, dodatkowo w erze Web 2.0 są elementem niemal obowiązkowym. Okazuje się, że efekt ten bardzo prosto uzyskać TYLKO za pomocą CSS z wykorzystaniem właściwości border-radius, bez potrzeby wprowadzania zbędnego kodu HTML z podpiętymi grafikami tła.

Oczywiście takie rozwiązanie ma jedną wadę – nie zadziała w Internet Explorerze. Decyzję o tym, z jakiej metody zaokrąglania skorzystać należy więc podjąć indywidualnie w zależności od charakteru elementów layoutu. Jeśli dla danego elementu efekt zaokrąglenia jest absolutnie konieczny we wszystkich przeglądarkach – korzystamy ze standardowych metod (czyli dodatkowy HTML i obrazki tła). Jeśli dany element nie jest kluczowy i jesteśmy w stanie zaakceptować jego kanciastość w IE – najwygodniej skorzystać z border-radius.

Generalnie natomiast należy unikać metod, w których zaokrąglone rogi uzyskiwane są z wykorzystaniem JavaScript – po co marnować moc obliczeniową procesora na efekt, który można osiągnąć tylko za pomocą CSS i HTML? Czytaj dalej »

Czytaj więcej:
Artykuły » CSS
Tagi:
, ,

WordPress: Jak nadać odmienny styl wpisom z konkretnej kategorii lub konkretnego autora? Grzegorz Wójcik

Załóżmy, że na blogu mamy trzy kategorie – Rozrywka, Kultura i Sport. Strona główna naszego bloga pokazuje oczywiście wpisy z wszystkich trzech kategorii. Początkujący użytkownicy WP bardzo często zadają pytanie – jak sprawić, aby wpisy z danej kategorii były wizualnie odmienne od pozostałych?

Rozwiązanie tego problemu sprowadza się do napisania własnej funkcji i wpięciu jej w odpowiednie miejsce w pętlę WordPressa. Czytaj dalej »

Czytaj więcej:
Artykuły » WordPress
Tagi:
Strona: 2 z 4