Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JS w kodzie źródłowym a bezpieczeństwo
Rid
post 21.04.2011, 18:34:49
Post #1





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

Ostrzeżenie: (0%)
-----


Mam walidacje zarówno po stronie klienta jak i serwera.
Zajrzałem wczoraj do swojego kodu źródłowego i się lekko przeraziłem widząc jak w kodzie tym js wypluwa wszystkie dane jak i operacje obiektów przerabiane przez js-wszystkie wyrażenia regularne używane do walidacji,nazw,id walidatorów jak i
inputów ,które są walidowane ,są widoczne jak na dłoni dla potencjalnego "użyszkodnika" w kodzie źródłowym.

Mam ,takie pytanie czy użyć javascript obfuscation ,czy lepiej użyć Ajaxa który ,będzie pobierał dane z inputa wysyłał na serwer,gdzie funkcja zwaliduje i zwróci wynik spowrotem do Ajaxa ,który wyświetli odpowiednie komunikaty po stronie
klienta.Wiem,że to będzie generowało dodatkowy ruch na stronie ,ale chyba nie powinny być widoczne w kodzie źródłowym wyrażenia regularne które są ,po stronie serwera.
Go to the top of the page
+Quote Post
krowal
post 21.04.2011, 19:54:43
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


To zależy do czego tych wyrażeń używasz, jeśli jest to sprawdzenie poprawności maila lub adresu url to czemu miałbyś to chować, są to tak popularne regexpy że nikt nawet nie zajrzy w kod żeby ci je 'ukraść' smile.gif . Jeśli zaś chcesz swoje super extra wyrażenia zachować w tajemnicy to rób to AJAX'em tak jak napisałeś.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
Rid
post 21.04.2011, 20:46:31
Post #3





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

Ostrzeżenie: (0%)
-----


Cytat
jeśli jest to sprawdzenie poprawności maila lub adresu url to czemu miałbyś to chować, są to tak popularne regexpy że nikt nawet nie zajrzy w kod żeby ci je 'ukraść'


Byłoby dobrze gdyby ktoś tylko chciał ukraść -nie miałbym nic przeciwko temu gdyby wykorzystał to do swoich celów,
ale jakby szukał "dziury"w całym,to miałby wszystko podane na tacy.
Walidacja ,to jedna z najważniejszych metod poprawiających bezpieczeństwo naszej strony,dlaczego ma być widoczna w kodzie źródłowym?questionmark.gif?Czemu ,dowolna osoba ma wiedzieć jakich regexów używamy i do jakich inputów?questionmark.gif?Widzi wtedy co i jak jest zabezpieczone,szuka słabych punktów i jak znajdzie to,już chyba można tylko płakać.
Nie widząc tego,strzela wtedy w ciemno,jest to chyba jakaś forma dyskomfortu dla niego.

Ten post edytował Rid 21.04.2011, 20:47:41
Go to the top of the page
+Quote Post
krowal
post 22.04.2011, 06:15:06
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Ja swoją walidację mogę pokazać każdemu, nawet tą po stronie serwera bo jestem pewien co do jej działania. Jeśli ty nie jesteś pewien i uważasz, że można znaleźć w niej dziurę to znaczy że źle to zroiłeś i nawet niepokazywanie kodu użytkownikom nie uchroni cię w pełni przed planowanym atakiem smile.gif


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
#luq
post 22.04.2011, 08:52:33
Post #5





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Ja bym wykorzystał oba sposoby - obfuscation i ajaxa. Natomiast tak jak @kowal pisze, jeśli wyrażenia regularne masz dobrze przemyślane to nie powinieneś się obawiać publikacji kodu. Jedyna obawa jest taka, że nie znasz jakiegoś smaczka językowego, gdzieś w samym języku jest luka. Prostym przykładem może być http://gynvael.coldwind.pl/?id=360.

Ajaxa wykorzystałbym tylko z wygodnictwa. Jeśli nie masz biblioteki do walidacji formularzy w PHP i porta jej na JS to musiałbyś takiego porta zrobić... Jeśli Ci zależy na czasie, formularz nie jest głównym elementem strony to wysyłasz jedynie requesta do skryptu po stronie serwera. Co do zaciemniania kodu to jeśli Ci zależy, jak sama nazwa wskazuje, na zaciemnianiu kodu to to rób.


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
Rid
post 22.04.2011, 13:20:21
Post #6





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

Ostrzeżenie: (0%)
-----


Cytat
Jeśli ty nie jesteś pewien i uważasz, że można znaleźć w niej dziurę to znaczy że źle to zroiłeś i nawet niepokazywanie kodu użytkownikom nie uchroni cię w pełni przed planowanym atakiem.


Nie testowałem jeszcze całości ,więc mam lekkie obawy,po za tym chyba będzie bardziej bezpieczne jak kod będzie ukryty.
To tak jak z powiedzeniem:
Cytat
"Co mnie nie zabije, to mnie wzmocni."


Ten post edytował Rid 22.04.2011, 13:21:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 10:40