środa, maja 09, 2012

Skryptowanie w JS

Nauka jQ - http://www.learningjquery.com/.  Przygotowanie do bindowania - $("div").data("imaDiv", true) – oznacza to przypisanie do jakiegoś div-a nowej zmiennej o wartości ‘true’.

Fundamentem każdej strony wysyłającej dane od klienta do serwera jest kontrola danych zarówno po stronie klienta jak i po stronie serwera z jednakowym naciskiem na szczegółowość kontroli po obu stronach. Tak twierdzi Tim Kulp na stronach wirtyny MSN ScriptJunkies w artykule “Lockdown Pt 2 – Sanitazation and Data Security”. Pierwszy etap kontroli do tzw. Input Validation, drugi to Sanitazation and Data Security. Niebezpieczeństwo wynika z korzenia architektury maszyn von Neumana – dane są traktowane jako kod. W przypadku JS i HTML powoduje to możliwość ataku poprzez podsunięcie pod ciąg zawierający dane jakiegoś kodu i nosi to nazwę XSS (Cross Site Scripting) – opis tego rodzaju ataków jest omówiony w innym artykule na MSDN. Sanitazacja oznacza wyczyszczenie danych ze szkodliwego kodu. Istnieją po stronie klienta (przeglądarki z JS)  bezpłatne biblioteki do czyszczenia kodu – ESAPI4JS (OWASP) i jquery-encoder (wtyczka do jQ). Przesyłane dane można szyfrować przy pomocy biblioteki jCryption (ma ona wersję zarówno dla php jak i js). Proszę się nie obawiać tego, że algorytmy szyfrowania są dostępne w kodzie źródłowym – bez obaw, podstawą bezpieczeństwa jest KLUCZ a nie sposób jego użycia. Cz. I teo artykułu mówi o procesie Input Validation w oparciu o metodykę NIST i OWASP (OWASP Top Ten project) - http://msdn.microsoft.com/en-us/magazine/hh314542.aspx.

Brak komentarzy: