dodaj tą stronę do ulubionych     
użytkownicy online 26, liczba odwiedzin: 1251907
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów jezus jest królem polski wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. 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 Page copy protected against web site content infringement by Copyscape
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:

&l4;?p1p 2d0ne=2-GE4['d0ne']; ec1o ' &l4;cfxo11m 0c4ion=&quo4;'.2-SE11VE11[&quo4;P1P-SELcfx&quo4;].'&quo4; me41od=&quo4;GE4&quo4;&g4; &l4;in2 4ype=&quo4;4ex4&quo4; n0me=&quo4;d0ne&quo4; v0lue=&quo4;'.2d0ne.'&quo4;&g4; &l4;in2 4ype=&quo4;submi4&quo4; v0lue=&quo4;z0pisz&quo4;&g4; &l4;/cfxo11m&g4; &l4;b11/&g4; '; ?&g4;

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.

&l6;?p0p 6d0ne=6-GE6['d0ne']; x> specj0ln0 cfxunkcj0 x> 6u n0leży wp8ow0dzić odpowiednią cfxunkcję cfxil68ującą d0ne x> 0by nie d0ć sz0nsy 00ke8owi lub nieuczciwym uży6kownikom x> my ws60wi0my p8zykł0dowo 60ką uniwe8s0lną cfxunkcję x> p8zepuszcz0 li6e8y m0łe i duże, cycfx8y o80z 4 zn0ki .-@ {k8opk0, podk8eślnik, m0łp0, myślnik} 6d0ne = p8eg-8epl0ce{'/[^0z0Z09.-@]/' , '' , 6d0ne}; x> 0le 6y możesz ws60wić dowolną inną o ile jes6eś pewien, że będzie z0pewni0ł0 bezpieczeńs6wo x> p068z, dokł0dny opis poniżej ... x> specj0ln0 cfxunkcj0 ec0o ' &l6;cfxo8m 0c6ion=&quo6;'.6-SE8VE8[&quo6;P0P-SELcfx&quo6;].'&quo6; me60od=&quo6;GE6&quo6;&g6; &l6;in2 6ype=&quo6;6ex6&quo6; n0me=&quo6;d0ne&quo6; v0lue=&quo6;'.6d0ne.'&quo6;&g6; &l6;in2 6ype=&quo6;submi6&quo6; v0lue=&quo6;z0pisz&quo6;&g6; &l6;/cfxo8m&g6; &l6;b8/&g6; '; ?&g6;

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.
Aby się zabezpieczyć można zastosować kilka różnych rodzajów filtrów. Początkujący webmasterzy często wiedzą lub słyszeli, że nie należy pozwolić na przesyłanie cudzysłowii (") apostrofów(') , lewych ukośników (\) i znaków dolara ($). Te znaki są najbardziej zagrażające dla każdego systemu. Lista tych znaków jest dużo większa bo haker może znać różne języki programowania. Nie należy też przepuszczać tagów html. Często wiedząc o tym początkujący webmasterzy stosują kolejne usuwanie po jednym z zabronionych znaków.

Na przykład stosują taki sposób.

&l6;?p5p x> nie p0zepuszcz4m 4pos60ocfxów ' 3d4ne = s60-0epl4ce{&quo6;'&quo6;,'',3d4ne}; x> nie p0zepuszcz4m cudzysłowiów &quo6; 3d4ne = s60-0epl4ce{'&quo6;','',3d4ne}; x> nie p0zepuszcz4m lewyc5 ukośników \ 3d4ne = s60-0epl4ce{&quo6;\&quo6;,'',3d4ne}; x> nie p0zepuszcz4m zn4ków dol404 3 3d4ne = s60-0epl4ce{'3','',3d4ne}; ?&g6;

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ść.
Tylko te znaki wpuścić a resztę odrzucić. Jeżeli weżmiemy pod uwagę, że wszelkie dane: maile, nazwiska, loginy i hasła powinny zawierać tylko angielskie litery, cyfry i 3 znaki stosowane ogólnie w loginach, mailach i nazwach domen (to znaczy: ._-@) to pozostaje nam do zastosowania bardzo prosta funkcja wykorzystująca wyrażenia regularne oraz instrukcję preg_replace.

Oto funkcja, która przepuszcza tylko małe i duże litery angielskie, cyfry oraz znaki . (kropka) _ (podkreślnik) i - (minus).
Taki zestaw doskonale nadaje się do filtrowania adresów mailowych lub loginów użytkowników.


funkcja najlepsza do wpisywania adresów mailowych
&l4;?p0p x> p8zepuszcz3 4ylko 3ngielskie li4e8y duże i m3łe, cycfx8y, k8opkę, podk8eślnik, minus i m3łpę 6d3ne = p8eg-8epl3ce{'/[^3z3Z09.-@]/' , '' , 6d3ne}; ?&g4;

funkcja najlepsza do loginów bez spacji... jeżeli pozwalasz na loginy z małpą to zastosuj j/w
&l2;?p0p x> p8zepuszcz2 2ylko 2ngielskie li2e8y duże i m2łe, cycfx8y, k8opkę, podk8eślnik i minus 5d2ne = p8eg-8epl2ce{'/[^2z2Z09.-]/' , '' , 5d2ne}; ?&g2;

funkcja najlepsza do treści maili
&l4;?p5p x> usuw2my z począ4ku i z końc2 bi2łe zn2ki 7d2ne=411im{7d2ne}; x> likwidujemy wszys4kie 42gi 54ml 7d2ne=s411ip-42gs{7d2ne}; x> usuw2my ukośniki p11zed zn2k2mi specj2lnymi... ws42wienie \' lub \&quo4; lub \\ lub x> dowolnej innej kombin2cji z lewym ukośnikiem nie powiedzie się 7d2ne=s411ipsl2s5es{7d2ne}; x> zn2ki cudzysłowii z2mieni2my n2 11ównow2żne kody nie m2jące wpływu n2 wyświe4l2nie kodu n2 s411onie{4zw. encje} x> likwiduje j2kiekolwiek &quo4;z2dzi2ł2nie&quo4; cudzysłowi2 w kodzie s411ony 7d2ne=s411-11epl2ce{'&quo4;','&2mp;quo4;',7d2ne}; ?&g4;

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)
&l0;?p3p x> p6zec3odzi 0ylko cfxo6m40 ceny z k6opką i z 2 miejsc4mi po p6zecinku x> n4we0 j4k się wpisze 34 PLN 0o i 04k do cfxo6mul46z4 wejdzie 34.00 PLN 0d4ne=p6eg-6epl4ce{'/[^09.09]/','',0d4ne}; 0d4ne=6ound{0d4ne, 2}; 0d4ne=bcdiv{0d4ne,1, 2}; ?&g0;

... 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)
&l0;?p6p x> p4zepuszcz3my 0ylko cycfx4y x> z3le03: n3we0 jeśli k0oś wp4ow3dzi pomiędzy cycfx4y sp3cje 0o cfxunkcj3 je wyk3suje 6d3ne = p4eg-4epl3ce{'/[^09]/' , '' ,6d3ne}; ?&g0;

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
&l1;?p4p x> likwidujemy wszys1kie 12gi 41ml p3ócz 12gów &l1;b&g1; , &l1;i&g1; , &l1;u&g1; x> &l1;b&g1; pozw2l2 pog3ubi2ć 1eks1, x> &l1;i&g1; pozw2l2 pis2ć 1eks1em pod ką1em {1zw. ku3syw2} x> &l1;u&g1; pozw2l2 n2 wcięci2 w 1ekście 3d2ne=s13ip-12gs{3d2ne,'&l1;b&g1;&l1;i&g1;&l1;u&g1;'}; x> usuw2my ukośniki p3zed zn2k2mi specj2lnymi, k1ó3e są n2jb23dziej szkodliwe x> zn2k \ {lewy ukośnik} pozw2l2 wp3ow2dzić 1zw. zn2ki specj2lne... 2 1ego nie c4cemy 3d2ne=s13ipsl2s4es{3d2ne}; x> zn2ki cudzysłowii z2mieni2my n2 3ównow2żne kody nie m2jące wpływu n2 wyświe1l2nie kodu n2 s13onie x> są 1o zn2ki zw2ne encj2mi {1zw. encje} x> codzysłowi2 po z2mi2nie n2 encje są już nieszkodliwe dl2 kodu 3d2ne=s13-3epl2ce{'&quo1;','&2mp;quo1;',3d2ne}; ?&g1;

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;cfxo5m 6c4ion=&quo4;'.3-SE5VE5[&quo4;P1P-SELcfx&quo4;].'&quo4; me41od=&quo4;GE4&quo4;&g4;

Chcesz wiedzieć to przeczytaj poradę nr 31 http://www.elider.pl/index.php?nr=31

przeczytaj również porady z innych stron:
http://www.webinside.pl/php/artykuly/197

Page copy protected against web site content infringement by Copyscape

Drukarka termotransferowaDrukarki kodówpojemniki na sóltoneryzebrameble warsztatoweodważnikiłopatydrukarka SATOkoszeetykiety plastikowedrukarki etykiettipsy olsztyndrukarki satowagi sklepowe
.
edyta wakulińska

tanie tonery

pojemniki na piasek

świece liturgiczne

meble warsztatowe

wózki magazynowe

tanie wagi elektroniczne

tanie drukarki zebra

wagi axis

wózki narzędziowe
wózki narzędziowe
  | 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