Lokalny serwer HTTP: Proste sposoby na problemy z file:///

Po co Ci lokalny serwer HTTP? Bardzo wiele osób skarży się mi na dziwne problemy z aplikacjami. Błędy są przeróżne, a często mają wspólne źródło: Próba otwarcia pliku .html w przeglądarce przez file:// i brak serwera HTTP. Błędy protokołu file:// Przykładem błędu, na który często skarżą się czytelnicy jest: XMLHttpRequest cannot load file://…… Cross origin requests are only supported for protocol …

Joi — walidacja danych

Ten wpis jest 5 częścią z 5 w kursie HapiJS

Walidacja danych to bardzo ciekawy i rozbudowany temat, a ja znalazłem swoją ulubioną paczkę do tego 🙂 Ten wpis poświęcam w 100% bibliotece Joi. Wbrew pozorom, nie jest to wcale tak banalna sprawa, jakby się mogło wydawać! Joi służy do walidacji danych w Node.js. Można jej używać z dowolnym frameworkiem, ale, co dla mnie istotne, jest mocno zintegrowana z HapiJS!

Hackowanie CSS

Numerem 1 podatności aplikacji internetowych wg. OWASP jest szerokopojęte „Injection”. Zazwyczaj kiedy o tym mówimy gdzieś z tyłu głowy mamy wyłącznie JavaScript i tylko XSS. A to przecież błąd 😲 W tym wpisie pokażę Ci jak można wykorzystać ciekawe elementy języka CSS do kradzieży wrażliwych danych z aplikacji ofiary.

Symlink, zip i upload plików – łatwo padniesz łupem hackera

Bardzo często ścieram się z sytuacjami gdzie ktoś kopiuje kod z Internetu do aplikacji bez zweryfikowania co ten kod do końca robi… Zresztą: Kto nie wykorzystał gotowca ze StackOverflow bez czytania opisu i komentarzy niech pierwszy rzuci kamień 😉 Czasem jednak pozornie niewinne fragmenty kodu mogą doprowadzić do katastrofy. Weźmy prosty przykład: Upload plików. Wszystko działa, wszędzie prawidłowa sanityzacja i obsługa błędów… …

Dlaczego Twoja kolejna strona powinna być na https?

Niemal cała Twoja aktywność w Internecie odbywa się za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol). Właściwie niezależnie co robisz, z czym albo skąd się łączysz – prawdopodobnie robisz to przez HTTP. Wraz z tym jak Twoja zależność od Internetu rośnie, jesteś narażona/y na coraz więcej różnego rodzaju zagrożeń. Każde nieszyfrowane połączenie HTTP upublicznia informacje o tym co robisz, jakie strony …

Dlaczego porzuciłem Ghost na rzecz WordPress, ale Ty nie powinieneś?

Od nieco ponad tygodnia możesz podziwiać całkowicie nową wersję strony Type of Web. Do tej pory korzystałem z systemu Ghost, jednak zrezygnowałem z niego na rzecz WordPress. Prawdę mówiąc, nosiłem się z tym zamiarem już od dłuższego czasu… co było moją motywacją? Dlaczego Type of Web lepiej sprawdza się na WordPressie? I, co ważne, dlaczego nadal uważam Ghost za świetną platformę1 do blogowania? …

REST API w node.js z HapiJS – dokumentacja API

Ten wpis jest 4 częścią z 5 w kursie HapiJS

Dalej na temat tworzenia backendu w node.js z wykorzystaniem HapiJS. Ten wpis jest o automatycznym generowaniu dokumentacji do endpointów. Zapraszam! Jeśli cokolwiek okaże się dla Ciebie niejasne to zadaj mi pytanie w komentarzach. Joi W poprzednim wpisie pokazałem jak korzystać z podstawowych możliwości biblioteki Joi. Dla przypomnienia: Jest to biblioteka pozwalającą na walidację żądań zgodnie z podaną strukturą. Nie mówiłem jednak o tym, że takie …

Hapi.js – Wprowadzenie

Ten wpis jest 1 częścią z 5 w kursie HapiJS

Po moich dwóch poprzednich wpisach dotyczących frameworka hapi.js na platformę Node.js, wiele osób zaczęło zadawać mi różne pytania. Poniżej zebrałem najciekawsze z nich oraz kilka własnych przemyśleń. Należy potraktować to jako miękkie wprowadzenie do tworzenia backendu w Node.js z hapi.js. Skąd się w ogóle wzięło hapi.js? Hapi.js jest frameworkiem JS przeznaczonym na platformę Node.js. Zaczął powstawać w 2011 roku i niemal od początku był silnie …

REST API w node.js z HapiJS – definicja route’ów i prosta walidacja

Ten wpis jest 3 częścią z 5 w kursie HapiJS

Kontynuuję serię wpisów na temat tworzenia backendu w node.js z wykorzystaniem HapiJS. Dzisiaj o obsługiwaniu parametrów i zapytań oraz o walidacji. Zapraszam! Jeśli cokolwiek okaże się niejasne to zachęcam do zadawania pytań w komentarzach. Budowa URL-a Nie byłbym sobą, gdybym nie spróbował najpierw wyjaśnić kilku pojęć, którymi będę się dzisiaj posługiwał. Weźmy taki przykładowy adres internetowy: http://example.com/subpage?query=123&arg=val#home Musimy umówić co do nazewnictwa poszczególnych fragmentów …