6 Bezpieczeństwo stron WWW 4 minuty czytania

Walidacja danych GET w .htaccess

Dzisiaj trochę o bezpieczeństwie stron internetowych. Temat po części jest powiązany z przyjaznymi linkami. Czytając mojego bloga, często można trafić na stwierdzenie, że „leniwy programista, to dobry programista”, dlatego pokażę jak to w praktyce wykorzystać wraz z małą wskazówką pozycjonerską.

Przeglądając strony internetowe, a nawet mojego bloga, można zauważyć, że zmienne GET (czyli takie przesyłane poprzez adres w przeglądarce) są liczbami. Przyczyna jest bardzo prosta. Dużo łatwiej sprawdzić czy dana zmienna jest poprawną daną czy nie.

W PHP jest jest nawet gotowa funkcja, która zrobi to za nas i nie trzeba znać wyrażeń regularnych.

Dodatkowo jeżeli nasz serwis korzysta z baz danych, to wykonanie ataku mysql injection jest prawie niemożliwe (próba wstrzyknięcia złośliwego kodu SQL zostanie obsłużona przez odpowiedni warunek lub wyjątek).

Sztuczka

Jeżeli serwis korzysta z przyjaznych linków, co dzisiaj jest bardzo popularne, taką prostą walidację danych można zrobić poprzez .htaccess, zaś jeżeli regułka nie będzie pasowała do wzoru to wystarczy wyświetlić odpowiednią informację (np. stronę z kodem błędu 404). Dla przykładu, jeżeli chcemy aby nasz serwis miał następujący wygląd linków dla sekcji z artykułami:

http://adres.pl/artykul/666/przyjazna-nazwa-artykulu-w-linku

To nasza regułka powinna wyglądać następująco:

RewriteRule ^artykul/([0-9]{1,4})/(.*)?$ /?articleID=$1 [L]

Gdy tworzę przyjazne linki bardzo często (jeśli nie zawsze) korzystam z prefiksów, dzięki którym wiem jaka to sekcja. W tym przypadku takim prefiksem jest „artykuł”. Po nim następuje ciąg liczb (które mogą zawierać od jednej cyfry do czterech), a na samym końcu umieszczam tytuł danego artykułu (odpowiednio przygotowany i zoptymalizowany pod wyszukiwarki), który nie ma żadnego zastosowania w działaniu aplikacji www.

Jeżeli intruz teraz będzie chciał przeprowadzić atak (który i tak się nie powiedzie) poprzez wprowadzenie samego apostrofu zostanie wyświetlony domyślny komunikat serwera, że strona/plik nie został znaleziony na serwerze.

Teraz wystarczy przygotować odpowiednią stronę 404 i pozamiatane. Tak działają przyjazne linki na bluejackingu.

Sztuczka SEO

Nie tak dawno przyszła mi do głowy pewna myśl. Dzięki temu rozwiązaniu można „generować” nieskończoną ilość stron. Wystarczy stworzyć teraz jakiś prosty automacik do pokazywania losowych komunikatów (wraz z różnymi meta tagami) i site nam rośnie. Wysoki site to duża ilość punktów w systemach wymiany linków. Duża ilość punktów to wyższe pozycje, lepsze indeksowanie. Sprytne, nie?




Akceptuję politykę prywatności

Raz w miesiącu e-mail z najlepszymi artykułami

Zdjęcie autora wpisu - Piotr Cichosz

Piotr Cichosz — autor wpisu

Frontend developer. Tworzę zaawansowane systemy webowe w JS. Swoją wiedzę nt. SEO wykorzystuję do rozwijania własnych projektów (z lepszym lub gorszym efektem). Dużo eksperymentuję i staram się określić jak bardzo można nagiąć cierpliwość algorytmów Google (:. Prowadzę teraz bloga technologicznego oraz bloga o Apple

Komentarze 6

author mt3o 26.03.2008 20:22:01

To się chyba spamowanie wyszukiwarek nazywa, nie? Google wywali taką stronę z rankingu, pogrozi i obłoży klątwą webmastera i jego synów do siódmego pokolenia ;)

author Radeq www 26.03.2008 21:49:49

Czy jest różnica pomiędzy (.*) a (.+) ?

author webdevil www 26.03.2008 22:53:05

@Radeq: * - dowolna ilość (łącznie z 0) a kropka - "przynajmniej raz"

author imie www 04.04.2008 11:15:12

> Sprytne, nie?
prymitywne, ale doraźnie, pod systemy jak znalazł ;)

author Kasia www 04.04.2008 21:24:46

Niestety bluejacking.pl ma problem z polskimi znakami w URL a także nie dodaje na koniec slasha. Od siebie dodam, że też pogłębialiśmy możliwości pliku htaccess: http://magiczne.seoisem.pl/2007/12/13/poskramiamy-htaccess-przekierowania-i-nie-tylko/
Bardzo pomocne. Warto zainwestować trochę czasu w zmianę URLi optymalizowanej witryny.

Co do sztuczki - interesująca, ale ryzykowna :)

author Damian www 19.08.2009 20:45:12

Pieknie ladnie ale do strony mozna dobrac sie na dwa sposoby... przez nasz piekny przyjazny url ktory jest filtrowany i oryginalny adres ktory nie jest filtrowany... Piszac ten artykul powinienes przedstawic takie mozliwosci bo innymi slowy niby bezpieczenstwo a przyczyniasz sie do nowych kolejnych dziurwawych servisow. I tyle z twojego bezpieczenstwa...

Dodaj komentarz