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 …

meet.js Summit 2017: Nasze podsumowanie

meet.js Summit 2017 dobiegł końca 🙂 Minął ponad tydzień i opadły już emocje po zakończeniu największej tego typu konferencji w Polsce i przede wszystkim największego meet.js Summit w historii meet.js! Jako organizatorzy, chcielibyśmy tutaj przedstawić naszą relację: Jak to wszystko wyglądało z drugiej strony, czy organizacja konferencji to czysta przyjemność, co uważamy za udane, a co chcielibyśmy jeszcze dopracować. Tegoroczny meet.js …

Usuwanie białych pasków w Safari na iPhone X

Apple przedstawiło niedawno swojego nowego flagowego smartfona – iPhone X. To co odróżnia go od poprzedników to głównie wyświetlacz rozciągający się od krawędzi do krawędzi. Oprócz pięknego wyglądu, niestety rodzi to pewne nowe problemy – między innymi z tym, że Safari na iOS domyślnie wyświetla białe paski po prawej i lewej na stronach www gdy obrócimy smartfon. Czy możemy zrobić coś, aby temu zaradzić? …

meet.js Summit 2017 za kulisami

Już za nieco ponad 12 godzin rozpoczyna się meet.js Summit 2017. Jest to największa konferencja JavaScript w Polsce i oczywiście największe spotkanie meet.js w historii. W tym krótkim wpisie chciałbym przedstawić kilka liczb i wniosków, a także opowiedzieć jak meet.js wygląda „od kuchni”. Czym jest meet.js? meet.js to seria darmowych spotkań poświęconych JavaScriptowi i ogólnie tworzeniu aplikacji internetowych. Są to spotkania …

Payment Request API: bezpieczne płatności w przeglądarce

Płatności online niejednokrotnie okazują się być problematyczne. W szczególności na telefonach – przypomnij sobie kiedy ostatni raz chciałaś/eś za coś zapłacić, ale zrezygnowałaś/eś, bo wpisywanie wszystkich danych i numeru karty na telefonie Cię zmęczyło? Właśnie. Ja miewam tak często. Na szczęście koniec tej męki wydaje się być bliski: Wchodzi Payment Request API! Problemy z płatnościami O ile Polacy bardzo często płacą …

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 …

Praca zdalna – rekrutacja do Toptal

Na pewno wiele osób kojarzy mnie z firmą Toptal – w szczególności ci, którzy brali udział w lokalnych meetupach w Gdańsku, na których opowiadałem o pracy zdalnej na przykładzie Toptala. W tym wpisie opisuję rekrutację do Toptala, mimo że od kilku miesięcy nie współpracuję już z Toptalem – zrezygnowałem z tego całkowicie na rzecz pełnego zaangażowania w projekty za pośrednictwem X-Team. Dlaczego? Co wpłynęło na moją decyzję? Dokładnie tym pytaniom …

Weekly JavaScript Challenge – Reaktywacja!

Ponad rok temu rozpocząłem inicjatywę o nazwie Weekly JavaScript Challenge – stworzyłem grupę na Facebooku, która miała na celu wzajemną pomoc w nauce JavaScriptu. Założeniem grupy było wspólne rozwiązywanie zadań i wrzucanie ich na Facebooka do oceny. Głównym pomysłem było tworzenie realnych aplikacji, a nie implementowanie algorytmów, a każde rozwiązanie miało przechodzić przez code review pod kątem czytelności oraz architektury kodu. Z tych powodów …