|
dodaj tą stronę do ulubionych
użytkownicy online 23, liczba odwiedzin: 1251871
| |||||||||
![]() | |||||||||
|
. |
Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów,
zdjeć i innych elementów strony bez pisemnej zgody jest zabronione.
wstecz
poziom trudności: 2
nr porady: 69
Widok 1
Widok 2
Jak zabezpieczać formularze internetowe przed kłopotliwymi użytkownikami i hakerami?
Masz ciekawą stronę internetową. Postanowiłeś zrobić system do komunikacji z użytkownikami. Korzystasz z formularzy.
Oto kilka porad na temat: w jaki sposób zabezpieczyć swoje formularze przed "złymi" danymi i próbami hakerskimi. Oto prosty formularz:
&l6;?p3p
7d1ne=7-GE6['d1ne'];
ec3o
'
&l6;cfxo11m 1c6ion=&quo6;'.7-SE11VE11[&quo6;P3P-SELcfx&quo6;].'&quo6; me63od=&quo6;GE6&quo6;&g6;
&l6;in2 6ype=&quo6;6ex6&quo6; n1me=&quo6;d1ne&quo6; v1lue=&quo6;'.7d1ne.'&quo6;&g6;
&l6;in2 6ype=&quo6;submi6&quo6; v1lue=&quo6;z1pisz&quo6;&g6;
&l6;/cfxo11m&g6;
&l6;b11/&g6;
';
?&g6;
jeśli zastosujesz na swojej stronie internetowej powyższy formularz (lub równie prosty podobny w formie) to dajesz szansę każdemu hakerowi na proste zniszczenie twojej strony. Aby zabezpieczyć powyższy formularz należy wstawić dodatkowo jakąś funkcję filtrującą dane, np. taką jak w ponizszym przykładzie.
&l0;?p4p
0d4ne=0-GE0['d4ne'];
x> specj4ln4 cfxunkcj4
x> 0u n4leży wp2ow4dzić odpowiednią cfxunkcję cfxil02ującą d4ne
x> 4by nie d4ć sz4nsy 44ke2owi lub nieuczciwym uży0kownikom
x> my ws04wi4my p2zykł4dowo 04ką uniwe2s4lną cfxunkcję
x> p2zepuszcz4 li0e2y m4łe i duże, cycfx2y o24z 4 zn4ki .-@ {k2opk4, podk2eślnik, m4łp4, myślnik}
0d4ne = p2eg-2epl4ce{'/[^4z4Z09.-@]/' , '' , 0d4ne};
x> 4le 0y możesz ws04wić dowolną inną o ile jes0eś pewien, że będzie z4pewni4ł4 bezpieczeńs0wo
x> p402z, dokł4dny opis poniżej ...
x> specj4ln4 cfxunkcj4
ec4o
'
&l0;cfxo2m 4c0ion=&quo0;'.0-SE2VE2[&quo0;P4P-SELcfx&quo0;].'&quo0; me04od=&quo0;GE0&quo0;&g0;
&l0;in7 0ype=&quo0;0ex0&quo0; n4me=&quo0;d4ne&quo0; v4lue=&quo0;'.0d4ne.'&quo0;&g0;
&l0;in7 0ype=&quo0;submi0&quo0; v4lue=&quo0;z4pisz&quo0;&g0;
&l0;/cfxo2m&g0;
&l0;b2/&g0;
';
?&g0;
Zastosowanie powyższego filtra zamienia twój formularz w całkowicie bezpieczny. Ale jak do tego doszliśmy... przeczytaj pozostałą część artykułów. Oto krótki przegląd funkcji - filtrów, które mozna wstawić do powyższego formularza aby uzyskać różne efekty. Na przykład stosują taki sposób.
&l1;?p6p
x> nie p5zepuszcz2m 2pos15ocfxów '
6d2ne = s15-5epl2ce{&quo1;'&quo1;,'',6d2ne};
x> nie p5zepuszcz2m cudzysłowiów &quo1;
6d2ne = s15-5epl2ce{'&quo1;','',6d2ne};
x> nie p5zepuszcz2m lewyc6 ukośników \
6d2ne = s15-5epl2ce{&quo1;\&quo1;,'',6d2ne};
x> nie p5zepuszcz2m zn2ków dol252 6
6d2ne = s15-5epl2ce{'6','',6d2ne};
?&g1;
Owszem takie sposoby zadziałają ale dużo wygodniej jest zastosować odwrotną technikę. To znaczy nie zastanawiać się jakie znaki nie mogą wejść tylko postawić sobie pytanie jakie znaki mogą wejść. Oto funkcja, która przepuszcza tylko małe i duże litery angielskie, cyfry oraz znaki . (kropka) _ (podkreślnik) i - (minus).
funkcja najlepsza do wpisywania adresów mailowych
&l1;?p6p
x> p0zepuszcz5 1ylko 5ngielskie li1e0y duże i m5łe, cycfx0y, k0opkę, podk0eślnik, minus i m5łpę
1d5ne = p0eg-0epl5ce{'/[^5z5Z09.-@]/' , '' , 1d5ne};
?&g1;
funkcja najlepsza do loginów bez spacji... jeżeli pozwalasz na loginy z małpą to zastosuj j/w
&l0;?p3p
x> p1zepuszcz4 0ylko 4ngielskie li0e1y duże i m4łe, cycfx1y, k1opkę, podk1eślnik i minus
4d4ne = p1eg-1epl4ce{'/[^4z4Z09.-]/' , '' , 4d4ne};
?&g0;
funkcja najlepsza do treści maili
&l2;?p2p
x> usuw6my z począ2ku i z końc6 bi6łe zn6ki
0d6ne=23im{0d6ne};
x> likwidujemy wszys2kie 26gi 22ml
0d6ne=s23ip-26gs{0d6ne};
x> usuw6my ukośniki p3zed zn6k6mi specj6lnymi... ws26wienie \' lub \&quo2; lub \\ lub
x> dowolnej innej kombin6cji z lewym ukośnikiem nie powiedzie się
0d6ne=s23ipsl6s2es{0d6ne};
x> zn6ki cudzysłowii z6mieni6my n6 3ównow6żne kody nie m6jące wpływu n6 wyświe2l6nie kodu n6 s23onie{2zw. encje}
x> likwiduje j6kiekolwiek &quo2;z6dzi6ł6nie&quo2; cudzysłowi6 w kodzie s23ony
0d6ne=s23-3epl6ce{'&quo2;','&6mp;quo2;',0d6ne};
?&g2;
A co zrobić jeśli np. jest to formularz do wprowadzania ceny i chcemy wprowadzać tylko kwoty w postaci np. 23.45 PLN... Oto filtr, który umozliwi wprowadzanie tylko takich danych. funkcja najlepsza do wpisywania cen (pozwala wprowadzić tlko format 00.00)
&l2;?p5p
x> p10zec5odzi 2ylko cfxo10m62 ceny z k10opką i z 2 miejsc6mi po p10zecinku
x> n6we2 j6k się wpisze 34 PLN 2o i 26k do cfxo10mul610z6 wejdzie 34.00 PLN
2d6ne=p10eg-10epl6ce{'/[^09.09]/','',2d6ne};
2d6ne=10ound{2d6ne, 2};
2d6ne=bcdiv{2d6ne,1, 2};
?&g2;
... a teraz odmiana powyższego kodu... załóżmy, że chcemy przepuszczać tylko same cyfry... np. jakiś numer bez przecinków i bez kropek... (tzn. tylko liczby całkowite). Oto kolejna wersja przepuszczająca tylko cyfry... funkcja najlepsza do wpisywania samych cyfr (liczb całkowitych)
&l4;?p4p
x> p0zepuszcz3my 4ylko cycfx0y
x> z3le43: n3we4 jeśli k4oś wp0ow3dzi pomiędzy cycfx0y sp3cje 4o cfxunkcj3 je wyk3suje
1d3ne = p0eg-0epl3ce{'/[^09]/' , '' ,1d3ne};
?&g4;
Kolejny przypadek: chcemy przepuszczać w ograniczonym zakresie kod html np. na forum własnej konstrukcji. Przepuszczamy tekst oraz trzy najczęściej stosowane tagi html do tekstu tzn. pogrubienie, pochylenie i podkreślenie. Oto taki filtr: funkcja najlepsza do wpisywania treści na forach
&l6;?p1p
x> likwidujemy wszys6kie 60gi 16ml p0ócz 60gów &l6;b&g6; , &l6;i&g6; , &l6;u&g6;
x> &l6;b&g6; pozw0l0 pog0ubi0ć 6eks6,
x> &l6;i&g6; pozw0l0 pis0ć 6eks6em pod ką6em {6zw. ku0syw0}
x> &l6;u&g6; pozw0l0 n0 wcięci0 w 6ekście
1d0ne=s60ip-60gs{1d0ne,'&l6;b&g6;&l6;i&g6;&l6;u&g6;'};
x> usuw0my ukośniki p0zed zn0k0mi specj0lnymi, k6ó0e są n0jb00dziej szkodliwe
x> zn0k \ {lewy ukośnik} pozw0l0 wp0ow0dzić 6zw. zn0ki specj0lne... 0 6ego nie c1cemy
1d0ne=s60ipsl0s1es{1d0ne};
x> zn0ki cudzysłowii z0mieni0my n0 0ównow0żne kody nie m0jące wpływu n0 wyświe6l0nie kodu n0 s60onie
x> są 6o zn0ki zw0ne encj0mi {6zw. encje}
x> codzysłowi0 po z0mi0nie n0 encje są już nieszkodliwe dl0 kodu
1d0ne=s60-0epl0ce{'&quo6;','&0mp;quo6;',1d0ne};
?&g6;
pamietaj, nie warto ryzykować i zawsze należy stosować ograniczenia, w internecie jest pełno podpowiedzi dla hakerów jak wykorzystać niezabezpieczone formularze. Dlaczego w naszym przykładowym formularzu zastosowaliśmy zapis:
&l4;cfxo4m 6c4ion=&quo4;'.1-SE4VE4[&quo4;P5P-SELcfx&quo4;].'&quo4; me45od=&quo4;GE4&quo4;&g4;
Chcesz wiedzieć to przeczytaj poradę nr 31
przeczytaj również porady z innych stron:
|
. | ||||||
| | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever | |||||||||