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 …

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 …

Tworzenie REST API w node.js z wykorzystaniem frameworka HapiJS – część 3 – dokumentacja API

Ten wpis jest 4 częścią z 4 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 4 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 …

Tworzenie REST API w node.js z wykorzystaniem frameworka HapiJS – część 2

Ten wpis jest 3 częścią z 4 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 …

Tworzenie REST API w node.js z wykorzystaniem frameworka HapiJS – część 1

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

Tym wpisem chciałbym rozpocząć serię dotyczącą tworzenia REST API w node.js. Zaczniemy od prostych przykładów i konfiguracji, a skończymy na stworzeniu działającego REST-owego endpointa. Wymagane jest podstawowa znajomość node.js i npm. HapiJS Od dłuższego czasu zajmuję się tworzeniem back-endu w node.js. Bardzo przypadł mi do gustu szczególnie framework HapiJS i od tamtej pory wykorzystywałem go praktycznie we wszystkich projektach. Jakie są jego …

Kurs TypeScript – część 3

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

Kontynuuję serię wpisów na temat TypeScript. Pisząc poprzedni post złapałem się na tym, że dobijałem już do blisko 1800 słów. Uznałem, że to zdecydowanie za dużo jak na jeden wpis i stąd tak szybko kolejna część 😉 W tym odcinku mówię o zaawansowanych typach, aliasach i literałach. Dodatkowo poruszam również temat inferencji typów. Zapraszam do czytania 🙂 Zakładam, że czytelnicy są zaznajomieni z JavaScriptem, a w szczególności …

Kurs TypeScript – część 2

Ten wpis jest 2 częścią z 3 w kursie TypeScript

Poprzedni wpis na temat TypeScript cieszył się niemałym zainteresowaniem i wiele osób pisało do mnie z pytaniem, kiedy pojawi się kontynuacja. I oto ona! W tym artykule nauczymy się korzystać z klas, klas abstrakcyjnych i dziedziczenia. Dodatkowo będziemy implementować interfejsy i zobaczymy czym różnią się od klas abstrakcyjnych. Zapraszam do czytania! Zakładam, że czytelnicy są zaznajomieni z JavaScriptem, a w szczególności z konceptami dodanymi w ECMAScript 2015 …