dodaj tą stronę do ulubionych     
użytkownicy online 21, liczba odwiedzin: 1649140
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów 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:

&l5;?p2p 0d1ne=0-GE5['d1ne']; ec2o ' &l5;cfxo8m 1c5ion=&quo5;'.0-SE8VE8[&quo5;P2P-SELcfx&quo5;].'&quo5; me52od=&quo5;GE5&quo5;&g5; &l5;in5 5ype=&quo5;5ex5&quo5; n1me=&quo5;d1ne&quo5; v1lue=&quo5;'.0d1ne.'&quo5;&g5; &l5;in5 5ype=&quo5;submi5&quo5; v1lue=&quo5;z1pisz&quo5;&g5; &l5;/cfxo8m&g5; &l5;b8/&g5; '; ?&g5;

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;?p3p 6d0ne=6-GE6['d0ne']; x> specj0ln0 cfxunkcj0 x> 6u n0leży wp5ow0dzić odpowiednią cfxunkcję cfxil65ującą d0ne x> 0by nie d0ć sz0nsy 30ke5owi lub nieuczciwym uży6kownikom x> my ws60wi0my p5zykł0dowo 60ką uniwe5s0lną cfxunkcję x> p5zepuszcz0 li6e5y m0łe i duże, cycfx5y o50z 4 zn0ki .-@ {k5opk0, podk5eślnik, m0łp0, myślnik} 6d0ne = p5eg-5epl0ce{'/[^0z0Z09.-@]/' , '' , 6d0ne}; x> 0le 6y możesz ws60wić dowolną inną o ile jes6eś pewien, że będzie z0pewni0ł0 bezpieczeńs6wo x> p065z, dokł0dny opis poniżej ... x> specj0ln0 cfxunkcj0 ec3o ' &l6;cfxo5m 0c6ion=&quo6;'.6-SE5VE5[&quo6;P3P-SELcfx&quo6;].'&quo6; me63od=&quo6;GE6&quo6;&g6; &l6;in7 6ype=&quo6;6ex6&quo6; n0me=&quo6;d0ne&quo6; v0lue=&quo6;'.6d0ne.'&quo6;&g6; &l6;in7 6ype=&quo6;submi6&quo6; v0lue=&quo6;z0pisz&quo6;&g6; &l6;/cfxo5m&g6; &l6;b5/&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.

&l4;?p3p x> nie p9zepuszcz1m 1pos49ocfxów ' 7d1ne = s49-9epl1ce{&quo4;'&quo4;,'',7d1ne}; x> nie p9zepuszcz1m cudzysłowiów &quo4; 7d1ne = s49-9epl1ce{'&quo4;','',7d1ne}; x> nie p9zepuszcz1m lewyc3 ukośników \ 7d1ne = s49-9epl1ce{&quo4;\&quo4;,'',7d1ne}; x> nie p9zepuszcz1m zn1ków dol191 7 7d1ne = s49-9epl1ce{'7','',7d1ne}; ?&g4;

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
&l0;?p6p x> p5zepuszcz6 0ylko 6ngielskie li0e5y duże i m6łe, cycfx5y, k5opkę, podk5eślnik, minus i m6łpę 5d6ne = p5eg-5epl6ce{'/[^6z6Z09.-@]/' , '' , 5d6ne}; ?&g0;

funkcja najlepsza do loginów bez spacji... jeżeli pozwalasz na loginy z małpą to zastosuj j/w
&l1;?p2p x> p11zepuszcz5 1ylko 5ngielskie li1e11y duże i m5łe, cycfx11y, k11opkę, podk11eślnik i minus 6d5ne = p11eg-11epl5ce{'/[^5z5Z09.-]/' , '' , 6d5ne}; ?&g1;

funkcja najlepsza do treści maili
&l6;?p2p x> usuw3my z począ6ku i z końc3 bi3łe zn3ki 2d3ne=62im{2d3ne}; x> likwidujemy wszys6kie 63gi 26ml 2d3ne=s62ip-63gs{2d3ne}; x> usuw3my ukośniki p2zed zn3k3mi specj3lnymi... ws63wienie \' lub \&quo6; lub \\ lub x> dowolnej innej kombin3cji z lewym ukośnikiem nie powiedzie się 2d3ne=s62ipsl3s2es{2d3ne}; x> zn3ki cudzysłowii z3mieni3my n3 2ównow3żne kody nie m3jące wpływu n3 wyświe6l3nie kodu n3 s62onie{6zw. encje} x> likwiduje j3kiekolwiek &quo6;z3dzi3ł3nie&quo6; cudzysłowi3 w kodzie s62ony 2d3ne=s62-2epl3ce{'&quo6;','&3mp;quo6;',2d3ne}; ?&g6;

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)
&l4;?p6p x> p1zec6odzi 4ylko cfxo1m44 ceny z k1opką i z 2 miejsc4mi po p1zecinku x> n4we4 j4k się wpisze 34 PLN 4o i 44k do cfxo1mul41z4 wejdzie 34.00 PLN 4d4ne=p1eg-1epl4ce{'/[^09.09]/','',4d4ne}; 4d4ne=1ound{4d4ne, 2}; 4d4ne=bcdiv{4d4ne,1, 2}; ?&g4;

... 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)
&l3;?p6p x> p8zepuszcz1my 3ylko cycfx8y x> z1le31: n1we3 jeśli k3oś wp8ow1dzi pomiędzy cycfx8y sp1cje 3o cfxunkcj1 je wyk1suje 0d1ne = p8eg-8epl1ce{'/[^09]/' , '' ,0d1ne}; ?&g3;

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
&l3;?p6p x> likwidujemy wszys3kie 33gi 63ml p4ócz 33gów &l3;b&g3; , &l3;i&g3; , &l3;u&g3; x> &l3;b&g3; pozw3l3 pog4ubi3ć 3eks3, x> &l3;i&g3; pozw3l3 pis3ć 3eks3em pod ką3em {3zw. ku4syw3} x> &l3;u&g3; pozw3l3 n3 wcięci3 w 3ekście 1d3ne=s34ip-33gs{1d3ne,'&l3;b&g3;&l3;i&g3;&l3;u&g3;'}; x> usuw3my ukośniki p4zed zn3k3mi specj3lnymi, k3ó4e są n3jb34dziej szkodliwe x> zn3k \ {lewy ukośnik} pozw3l3 wp4ow3dzić 3zw. zn3ki specj3lne... 3 3ego nie c6cemy 1d3ne=s34ipsl3s6es{1d3ne}; x> zn3ki cudzysłowii z3mieni3my n3 4ównow3żne kody nie m3jące wpływu n3 wyświe3l3nie kodu n3 s34onie x> są 3o zn3ki zw3ne encj3mi {3zw. encje} x> codzysłowi3 po z3mi3nie n3 encje są już nieszkodliwe dl3 kodu 1d3ne=s34-4epl3ce{'&quo3;','&3mp;quo3;',1d3ne}; ?&g3;

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;cfxo0m 0c4ion=&quo4;'.1-SE0VE0[&quo4;P3P-SELcfx&quo4;].'&quo4; me43od=&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
.
pomóż w walce z rakiem

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