piątek, 12 marca 2010
CodeRun - Online IDE
Dzisiaj natknąłem się na niesamowity projekt środowiska programistycznego online... Czy jest to mocno przydatne? Nie wiem, ale na pewno ktoś nad tym trochę posiedział :D W każdym bądź razie pozycja warta uwagi :-) Zobacz tutaj.
poniedziałek, 8 marca 2010
AMFPHP 1.9 - w końcu oficjalna wersja
Zostałem dzisiaj mile zaskoczony przez oficjalny release AMFPHP 1.9 :-) Tak, tak... po 2 latach bety mamy w końcu wersję oficjalną.
czwartek, 4 marca 2010
FlashPlayer - full debugging (mm.cfg)
Dzisiaj natknąłem się na ten oto fajny artykuł autorstwa Jean-Philippe Auclair. Totalne szaleństwo, że możemy mieć pełny deugging runtime bytecodu!
czwartek, 25 lutego 2010
Flash Develop 3.0.6 & Flex SDK 4.1
To działa! W końcu kompilacja bez problemów! Jak ja na to długo czekałem :D Ściągać nowego nightly buildsa i testować :D
Etykiety:
as3,
FlashDevelop,
mxml,
software
wtorek, 23 lutego 2010
Inteligentna poczta
Elegancko piszę sobie maila w którym użyłem zwrotu "wysyłam"... Klikam sobie wyślij a mi tutaj okienko wyskakuje:
I co się okazuje? Że już przed wysłaniem poczty google analizuje co piszemy... Ciche szpiegostwo ;-)
I co się okazuje? Że już przed wysłaniem poczty google analizuje co piszemy... Ciche szpiegostwo ;-)
Ale o so chosziii?
Spotkała mnie dzisiaj dziwaczna sytuacja... Ale to całkiem dziwna... Otóż dostaję info na PM na FlashZone od usera PZN. Co abym zrobił coś z http://www.grupa-ria.pl/:
No ale o co tutaj chodzi? Blog nie mój, dostępu do niego nie mam - prawnie, bo użycie tych danych do logowania to i tak "włamywanie się" - a domena należy do nie jakiego Przemysława B. Zastanawia mnie czy to aby nie przez to, iż miałem odnośnik do tej strony na blogu - ponieważ taki miała mieć adres grupa ria - no i go nie zaktualizowałem, gdy ostatecznie adres strony okazał się inny.
To antyreklama, czy jak? Osobiście śmieszy mnie to trochę :D No ale właściciel domeny, mógł by coś z tym zrobić...
Dla ciekawskich: https://hrd.pl/pcenter/partner_frame/whois.php -> wpiszcie podaną domenę ;-)
Parodii ciąg dalszy...
Osoba która widnieje podpisana pod daną domenę wypiera się własności... Mamy domenę bezpańską :D Szkoda gadać... Btw, jak ktoś wie co zrobić w takiej sytuacji proszę o info :-)
wtorek, 16 lutego 2010
Zagubiony w ActionScript?
Przeglądałem dzisiaj sobie zakładki i natknąłem się na tą niedawno zapomnianą :)
sobota, 13 lutego 2010
Dodatki dla FD
Prężnie rozwijająca się społeczność FlashDevelopa po raz kolejny zaskoczyła mnie dwoma fajnymi dodatkami :)
Oczywiście wciąż są rozwijane poprzednie wtyczki :) Teraz to jeszcze mi brakuje oficjalnego wsparcia dla Flex4 oraz zautomatyzowania generowania testów jednostkowych :)
Oczywiście wciąż są rozwijane poprzednie wtyczki :) Teraz to jeszcze mi brakuje oficjalnego wsparcia dla Flex4 oraz zautomatyzowania generowania testów jednostkowych :)
środa, 16 grudnia 2009
Help do Flex'a 4
Ostatnio szperając w materiałach opublikowanych przez Adobe odnośnie nowej biblioteki Flex 4 natknąłem się na tego pdf'a: http://help.adobe.com/en_US/Flex/4.0/UsingSDK/flex_4_help.pdf
Pozycja warta uwagi, dostajemy w pigułce sporą dawkę wiedzy ;-)
Pozycja warta uwagi, dostajemy w pigułce sporą dawkę wiedzy ;-)
środa, 4 listopada 2009
Konfiguracja FlashDevelopa z FlexSDK
Nowa wersja, nowa konfiguracja, nowe możliwości... więc postanowiłem też odświeżyć how-to, prezentując krok po kroku konfigurację FlashDevelopa w formie video. Nagranie jest kierowane do osób stawiających swoje pierwsze kroki w FD.
Jeśli jesteście zainteresowani kolejnymi tutorialami/how-to lub chcielibyście się podzielić swoimi uwagami, proszę zostawiać komentarze.
Jeśli jesteście zainteresowani kolejnymi tutorialami/how-to lub chcielibyście się podzielić swoimi uwagami, proszę zostawiać komentarze.
Etykiety:
FlashDevelop,
różne,
software,
windows
wtorek, 3 listopada 2009
HOME - wołając o pomoc...
Po raz pierwszy na świecie, jednego dnia, w Dniu Ziemi, 5 czerwca 2009 – równocześnie w 85 krajach, w kinach, w telewizji, na DVD i w Internecie będzie miała miejsce premiera największego na świecie multimedialnego wydarzenia pro-ekologicznego. Premiera filmu S.O.S. Ziemia ("HOME”). Wspólny projekt Luca Bessona i fotografa Yanna Arthusa-Bertranda to zapierające dech w piersiach, piękne i poruszające obrazy. To niesamowita podróż w głąb australijskiej rafy koralowej, wędrówka przez niebezpieczne amazońskie lasy, bezkresną pustynię Gobi i industrialne dzielnice Szanghaju… Podróż przez wszystkie kontynenty, której celem jest zwrócenie uwagi świata na problemy i zagrożenia środowiska naturalnego: globalne ocieplenie, umierające lasy, wymieranie gatunków zwierząt i roślin, na kończące się zasoby naturalne. Efekt przewracającego się domina klęsk ekologicznych może zapoczątkować katastrofalne konsekwencje. Film S.O.S. Ziemia ("HOME”) to ostrzeżenie przed zagładą, to wołanie naszej Planety o ratunek...
Nic dodać nic ująć. Film przepiękny i mrożący krew w żyłach. Pokazuje, opowiada, przekazuje fakty i liczby. Zachwyca przepięknymi widokami, przepiękną muzyką i szokuje wyliczeniami... Jedna z obowiązkowych pozycji dla każdej osoby na planecie...
sobota, 31 października 2009
Zdalny pulpit czyli TeamViewer
TeamViewer to całkiem przyjemny programik do pracy zdalnej. Jest o wiele wydajniejszy od pulpitu zdalnego wbudowanego w Windowsa. Bardzo rozsądnie przetwarza obraz wysyłany do użytkownika zapewniając płynność pracy nawet przy słabszych łączach. Po kilku dniach testowania gorąco polecam. Do użytku niekomercyjnego program jest darmowy :)
środa, 28 października 2009
Czarna dziura...
Nawet nie wiedziałem jak oszałamiająca i fascynująca potrafi być czarna dziura napisana w processingu... Jeszcze nie wiem co i jak, ale podoba mi się :D
wtorek, 27 października 2009
Komiks o życiu
Dostałem dzisiaj od Pawła linka do baaaardzo życiowego komiksu http://freelanceswitch.com/category/freelance-freedom/. Śmieszny, ironiczny i prawdziwy ;-)
poniedziałek, 19 października 2009
Zmiana oferty na XP-Dev.com
Całkiem niedawno pisałem o darmowej kontroli wersji na XP-Dev.com. Niestety jakiś czas temu serwis został przeniesiony na nowe serwery i wraz z odmłodzeniem zmieniły się też warunki użytkowania i plany cenowe. Teraz w planie darmowym mamy do dyspozycji:
- brak limitów dla projektów open-source
- 2 projekty prywatne
- 200MB przestrzeni dyskowej
- ograniczenie do 4 historii wraz z błędami na projekt
- nielimitowana ilość uczestników projektu
- brak SSL
- brak kopii bezpieczeństwa
- reklamy na kontach
niedziela, 18 października 2009
Drogi kliencie, czy wiesz za co płacisz?
Idąc za ciosem po publikacji luźnych myśli, postanowiłem naświetlić Wam - moi drodzy klienci - kosztorys dobrej aplikacji. Często wchodzicie na stronę firmy zajmującej się tzw. webmasterką i chcecie im zlecić wykonanie strony firmowej. Co firma to inne ceny i przeróżne hasła zachęcające do skorzystania z ich usług.
Marketing tutaj odgrywa bardzo ważną rolę, ale czym tak na prawdę jest reklama? Czy zawsze mówi prawdę? Reklama jest jak lep na muchy - w tym przypadku na Was drodzy klienci - mający przyciągać masy. A co wiecie o produktach masowych? Znacie idealne rozwiązania dla każdego? A może jakiś półprodukt? I nie mówię tutaj o chlebie czy maśle, ale o generatorach witryn internetowych. Tak dokładnie, tych generatorach które pozwalają za pomocą 2-3 kliknięć "zbudować" stronę. Nie będę wnikał jak ta strona wygląda, co oferuje i czy reprezentuje jakąkolwiek jakość...
Mogę powiedzieć za to czym powinien się charakteryzować produkt naprawdę wysokiej jakości. Produkt który zrealizuje zapotrzebowanie klienta, który będzie zrobiony "na miarę". Chyba tego za każdym razem oczekujecie? Chcecie otrzymać coś dobrego, wydajnego i użytecznego...
Kolega lubi używać porównania "mercedes vs polonez", ale moim zdaniem nie tak należy do tego podejść. To porównanie niestety nie oddaje złożoności problemu i często gęsto daje złudny obraz. Każda strona czy aplikacja webowa to długi i skomplikowany proces produkcji, gdzie macie kontrolę nad każdym jej etapem. To jest jak układanie domino, gdzieś się popełni błąd i klocki lecą...
Przejdźmy może do pytań jakie powinniście sobie zadać zanim zamówicie jakąkolwiek aplikację:
Odpowiedzi jakich udzielicie na powyższe pytania w bardzo dużym stopniu wpłyną na sposób wykonania aplikacji i technologię w jakiej zostanie ona wykonana. Zadałeś/aś sobie te pytania? Udzieliłeś/aś na nie odpowiedzi? A teraz najważniejsze, czy widzisz złożoność problemu?
Wyprodukowanie dobrego oprogramowania, to nie jest kwestia 5-10min. Czy jeśli idziesz gotować obiad, ogranicza się to do wlania wody do garnka i postawienia na kuchence gazowej? To może przestawię Ci z grubsza jak wygląda proces wytwarzania dobrego oprogramowania:
Jak widzisz wybieram to co dla Ciebie jest ważne, bo to Ty decydujesz czego potrzebujesz. A teraz wyobraź sobie, że zmiana decyzji w trakcie wytwarzania aplikacji, czyli pisania kodu źródłowego potrafi nieść za sobą olbrzymie zmiany w całej architekturze. Możesz podejść do tego jak do zmiany szerokości tylnej kanapy w samochodzie - na szerszą ;-) Nie dość, że trzeba zmienić karoserię to i po zmianie karoserii całe podwozie...
Chcesz czy nie, to na Twoich barkach w znacznej mierze leży jakość wytworzonej aplikacji i czas jej realizacji. A "my" tak jak i Ty nie wiemy wszystkiego. Bardzo często dochodzi do potrzeby rozwiązania problemów powstających w trakcie pisania kodu.
Wszystkie powyższe czynniki składają się na jakość aplikacji. Ktoś może wykona to 10x taniej i będzie tak samo wyglądać, ale czy spełni te wszystkie wymogi jakie postawiłeś? Zapewni bezpieczeństwo Twoim danym i danym klientom? Będzie odporna na większość ataków? Czy będzie się nadawać do umieszczenia na Twoim hostingu? Czy nie będziesz musiał co miesiąc dopłacać do hostingu, ponieważ zacznie generować zbyt duży ruch? A może będzie generować tak duże obciążenie serwera, że nie przyjmie odpowiedniej ilości jednoczesnych wizyt? No ale przecież będzie wyglądać tak samo! I będzie tanio!
Więc tak na prawdę zastanów się mój drogi kliencie, na czym tak na prawdę Ci zależy. I miej świadomość, że dobrze wykonana aplikacja, nie będzie kosztować 200zł a wielokrotność tej sumy. A ktoś kto będzie wykonywać Twoje zlecenie, musi mieć już dobrze opanowany kunszt oraz olbrzymią wiedzę, żeby wiedzieć, jak spełnić Twoje oczekiwania.
Jedyne czego mogę Ci życzyć, to dobrych decyzji i udanych "zakupów".
Marketing tutaj odgrywa bardzo ważną rolę, ale czym tak na prawdę jest reklama? Czy zawsze mówi prawdę? Reklama jest jak lep na muchy - w tym przypadku na Was drodzy klienci - mający przyciągać masy. A co wiecie o produktach masowych? Znacie idealne rozwiązania dla każdego? A może jakiś półprodukt? I nie mówię tutaj o chlebie czy maśle, ale o generatorach witryn internetowych. Tak dokładnie, tych generatorach które pozwalają za pomocą 2-3 kliknięć "zbudować" stronę. Nie będę wnikał jak ta strona wygląda, co oferuje i czy reprezentuje jakąkolwiek jakość...
Mogę powiedzieć za to czym powinien się charakteryzować produkt naprawdę wysokiej jakości. Produkt który zrealizuje zapotrzebowanie klienta, który będzie zrobiony "na miarę". Chyba tego za każdym razem oczekujecie? Chcecie otrzymać coś dobrego, wydajnego i użytecznego...
Kolega lubi używać porównania "mercedes vs polonez", ale moim zdaniem nie tak należy do tego podejść. To porównanie niestety nie oddaje złożoności problemu i często gęsto daje złudny obraz. Każda strona czy aplikacja webowa to długi i skomplikowany proces produkcji, gdzie macie kontrolę nad każdym jej etapem. To jest jak układanie domino, gdzieś się popełni błąd i klocki lecą...
Przejdźmy może do pytań jakie powinniście sobie zadać zanim zamówicie jakąkolwiek aplikację:
- czego ma dotyczyć?
- ile odwiedzin dziennie/tygodniowo/miesięcznie się spodziewacie?
- czy jest to produkt na lata? A może chwilowy/tymczasowy?
- czy będziecie przetrzymywać tam wartościowe informacje?
- będziecie gromadzić informację o klientach?
- będą prowadzone statystyki?
- czy aplikacja ma być bezpieczna? Odporna na ataki? Jeśli tak to jakie?
- jakiego typu treści będą umieszczone?
- jaki charakter prezentowania treści wybierzecie?
- na jakim hostingu będzie działała aplikacja? Jakie są parametry tego hostingu?
Odpowiedzi jakich udzielicie na powyższe pytania w bardzo dużym stopniu wpłyną na sposób wykonania aplikacji i technologię w jakiej zostanie ona wykonana. Zadałeś/aś sobie te pytania? Udzieliłeś/aś na nie odpowiedzi? A teraz najważniejsze, czy widzisz złożoność problemu?
Wyprodukowanie dobrego oprogramowania, to nie jest kwestia 5-10min. Czy jeśli idziesz gotować obiad, ogranicza się to do wlania wody do garnka i postawienia na kuchence gazowej? To może przestawię Ci z grubsza jak wygląda proces wytwarzania dobrego oprogramowania:
- Spis wymagań
- podstawowe założenia aplikacji
- spis funkcjonalności
- Przypadki użycia
- dokładny opis działania
- diagramy przypadków użycia
- Model klas
- Przygotowanie środowiska testowego
- Wytwarzanie aplikacji
- Refaktoryzacja -> wersja release
- Oddanie aplikacji
Jak widzisz wybieram to co dla Ciebie jest ważne, bo to Ty decydujesz czego potrzebujesz. A teraz wyobraź sobie, że zmiana decyzji w trakcie wytwarzania aplikacji, czyli pisania kodu źródłowego potrafi nieść za sobą olbrzymie zmiany w całej architekturze. Możesz podejść do tego jak do zmiany szerokości tylnej kanapy w samochodzie - na szerszą ;-) Nie dość, że trzeba zmienić karoserię to i po zmianie karoserii całe podwozie...
Chcesz czy nie, to na Twoich barkach w znacznej mierze leży jakość wytworzonej aplikacji i czas jej realizacji. A "my" tak jak i Ty nie wiemy wszystkiego. Bardzo często dochodzi do potrzeby rozwiązania problemów powstających w trakcie pisania kodu.
Wszystkie powyższe czynniki składają się na jakość aplikacji. Ktoś może wykona to 10x taniej i będzie tak samo wyglądać, ale czy spełni te wszystkie wymogi jakie postawiłeś? Zapewni bezpieczeństwo Twoim danym i danym klientom? Będzie odporna na większość ataków? Czy będzie się nadawać do umieszczenia na Twoim hostingu? Czy nie będziesz musiał co miesiąc dopłacać do hostingu, ponieważ zacznie generować zbyt duży ruch? A może będzie generować tak duże obciążenie serwera, że nie przyjmie odpowiedniej ilości jednoczesnych wizyt? No ale przecież będzie wyglądać tak samo! I będzie tanio!
Więc tak na prawdę zastanów się mój drogi kliencie, na czym tak na prawdę Ci zależy. I miej świadomość, że dobrze wykonana aplikacja, nie będzie kosztować 200zł a wielokrotność tej sumy. A ktoś kto będzie wykonywać Twoje zlecenie, musi mieć już dobrze opanowany kunszt oraz olbrzymią wiedzę, żeby wiedzieć, jak spełnić Twoje oczekiwania.
Jedyne czego mogę Ci życzyć, to dobrych decyzji i udanych "zakupów".
sobota, 17 października 2009
Moralność a cena...
Witam wszystkich czytelników. Dzisiaj nieco odbiegnę od standardowej tematyki swoich wypowiedzi. Gałąź webmasterska rozwija się bardzo dynamicznie. Zewsząd zalewają nas frameworki aplikacyjne pozwalające niewielkim nakładem pracy stworzyć "coś"... Naturalnie przyciąga to coraz więcej ludzi, ponieważ staje się prostsze i przystępniejsze. Powstaje bardzo dużo (video)tutoriali związanych z tworzeniem prostych aplikacji i witryn internetowych. Naturalnie poruszają one podstawy, niewielki zakres jakim powinna cechować się dopracowana strona. I właśnie tutaj zaczyna się problem...
Z życia codziennego, kiedy zgłasza się do Was klient z prośbą o wycenę konkretnego projektu, co bierzecie pod uwagę? Bezpieczeństwo, optymalizację, interaktywność, wodotryski, grafikę...? Kolejność wymienianych elementów nie jest bez znaczenia, całkiem celowo podałem właśnie taką konfigurację.
Uwzględniając taką konfigurację i rzetelnie wyceniając czas jaki to zajmie, nakład pracy jakiego wymaga projekt, jaką odpowiedź odnośnie ceny dostajecie? Czy słowa "Ile?! Przecież inni to zrobią za 10x mniej!", brzmią znajomo? Czy jeśli uwzględnicie wszystkie aspekty stać Was na podjęcie się takiego zlecenia za 200zł?
Patrzę na to co się dzieje z niedowierzaniem i zastanawiam się gdzie leży tego przyczyna? Dochodzę do wniosku, że to przez "programistów" co zajmują się odpalaniem darmowych projektów na hostingach, oraz osoby które mają znikomą wiedzę na temat wytwarzania oprogramowania. Nie zdają sobie sprawy z olbrzymich niedociągnięć wytwarzanego przez siebie oprogramowania. Ich niewiedza przyczynia się również, do niesamowitego mniemania o sobie... Zdecydowany brak pokory wobec siebie i innych.
Z drugiej strony niczego nieświadomi klienci... Nie zdają sobie sprawy z niebezpieczeństw na jakie są narażeni, na lichą jakość produktu który otrzymują. Dla nich, jeśli ładnie wygląda i coś tam się rusza to jest super! Tego właśnie chcieli... Co z tego, że mogę spam rozsyłać przez ich formularz kontaktowy... Nieważne, że wstrzyknę kod SQL i skasuje im wszystkie informacje w bazie danych... Dlaczego? Bo ktoś zrobił im to tanio!
Robicie tak samo? A może uświadamiacie klientów jakie zagrożenia niesie ze sobą tania aplikacja?
Niesamowity jest fakt, że ludzi nie obchodzi ile transferu zużyje ich aplikacja, jakie obciążenie będzie generować i ile luk bezpieczeństwa posiada... Płacą za pozycjonowanie, wykupują dobre hostingi, dopłacają do transferu a jeden "niewinny" atak umieszcza ich serwer na czarnej liście.
A teraz odpowiedź sobie na pytanie, jakim jesteś developerem/klientem? Czy moralne jest nieuświadamianie klienta o tym co dostaje? A jeśli go uświadomimy, czy moralne jest podjęcie się produkcji bubla?
Z życia codziennego, kiedy zgłasza się do Was klient z prośbą o wycenę konkretnego projektu, co bierzecie pod uwagę? Bezpieczeństwo, optymalizację, interaktywność, wodotryski, grafikę...? Kolejność wymienianych elementów nie jest bez znaczenia, całkiem celowo podałem właśnie taką konfigurację.
Uwzględniając taką konfigurację i rzetelnie wyceniając czas jaki to zajmie, nakład pracy jakiego wymaga projekt, jaką odpowiedź odnośnie ceny dostajecie? Czy słowa "Ile?! Przecież inni to zrobią za 10x mniej!", brzmią znajomo? Czy jeśli uwzględnicie wszystkie aspekty stać Was na podjęcie się takiego zlecenia za 200zł?
Patrzę na to co się dzieje z niedowierzaniem i zastanawiam się gdzie leży tego przyczyna? Dochodzę do wniosku, że to przez "programistów" co zajmują się odpalaniem darmowych projektów na hostingach, oraz osoby które mają znikomą wiedzę na temat wytwarzania oprogramowania. Nie zdają sobie sprawy z olbrzymich niedociągnięć wytwarzanego przez siebie oprogramowania. Ich niewiedza przyczynia się również, do niesamowitego mniemania o sobie... Zdecydowany brak pokory wobec siebie i innych.
Z drugiej strony niczego nieświadomi klienci... Nie zdają sobie sprawy z niebezpieczeństw na jakie są narażeni, na lichą jakość produktu który otrzymują. Dla nich, jeśli ładnie wygląda i coś tam się rusza to jest super! Tego właśnie chcieli... Co z tego, że mogę spam rozsyłać przez ich formularz kontaktowy... Nieważne, że wstrzyknę kod SQL i skasuje im wszystkie informacje w bazie danych... Dlaczego? Bo ktoś zrobił im to tanio!
Robicie tak samo? A może uświadamiacie klientów jakie zagrożenia niesie ze sobą tania aplikacja?
Niesamowity jest fakt, że ludzi nie obchodzi ile transferu zużyje ich aplikacja, jakie obciążenie będzie generować i ile luk bezpieczeństwa posiada... Płacą za pozycjonowanie, wykupują dobre hostingi, dopłacają do transferu a jeden "niewinny" atak umieszcza ich serwer na czarnej liście.
A teraz odpowiedź sobie na pytanie, jakim jesteś developerem/klientem? Czy moralne jest nieuświadamianie klienta o tym co dostaje? A jeśli go uświadomimy, czy moralne jest podjęcie się produkcji bubla?
niedziela, 11 października 2009
JQuery - jeśli flex Ci nie potrzebny
Niedawno zainteresowałem się JQuery. Muszę przyznać, że bardzo fajny i przyjemny framework. Pozwala osiągnąć część efektów flexowych przy pomocy javascriptu. Czy warto się tym interesować? Jak najbardziej. Co prawda część animacji tnie się (testowane na friefox 3.5), jednak UI + interactions daje fajne możliwości. No i oczywiście możliwość pobrania dopasowanej wersji do własnych potrzeb to jest fajny smaczek ;-)
Klikajcie linka i poznajcie możliwości aplikacji. Pierwsze kroki staną się proste jeśli odwiedzicie dział dokumentacji w języku polskim, oraz serie tutoriali do JQuery :-) gl&hf!
Klikajcie linka i poznajcie możliwości aplikacji. Pierwsze kroki staną się proste jeśli odwiedzicie dział dokumentacji w języku polskim, oraz serie tutoriali do JQuery :-) gl&hf!
Flex Challenge Academic Tour
Piotr Walczyszyn (ewangelista Adobe) umieścił na swoim blogu informację o planowanej tracie Flex Challenge Academic Tour. Będzie to seria wykładów i warsztatów dla studentów. Nie było by w tym nic nadzwyczajnego, gdyby nie fakt, ze nareszcie impreza tego typu dotrze do Lublina! Życzę sobie i wszystkim aby ta inicjatywa wypaliła!
Powodzenia Piotrze :)
Powodzenia Piotrze :)
poniedziałek, 5 października 2009
Ukradli sesję!
Już jakiś czas rozmawiam ze znajomymi o zabezpieczeniach. Większość zgodnie używa do zabezpieczenia po stronie PHP sesji, ale czy używa ich prawidłowo? Do tego dojdziemy, ale zacznijmy od spraw oczywistych.
Czym jest sesja i do czego służy? Sesja to odmiana ciasteczka charakteryzująca się tym, że wszystkie dane sesji trzymane są po stronie serwera. Wydaje się być to najbezpieczniejszym rozwiązaniem ponieważ użytkownik posiada jedynie ID sesji i nie ma bezpośredniej możliwości manipulowania danymi zawartymi w sesji. Super mamy coś czego nikt nam nie zmieni!
Z w.w. powodu sesja to bardzo dobry sposób na trzymanie stanu zalogowania użytkownika oraz podstawowych danych sesji. Jednak jest tego zasadniczy minus. Co jak ktoś przechwyci sesję?
HTTP jest protokołem bezstanowym, dlatego każdy kto posłuży się ID sesji ma do niej dostęp. Załóżmy, że Janek zalogował się do serwisu i otrzymał identyfikator sesji ab12c. Następnie sytuację gdzie Krzysiek logując się do serwera lub też niekoniecznie po przez logowanie - celowo/niecelowo - otrzymuje ID sesji taki sam jak Janek. W tym momencie jeśli Krzysiek celowo przejął ID sesji Janka, dla serwisu jest Jankiem.
Przykry scenariusz, jednak jesteśmy na niego narażeni, jeśli nikt nie zabezpieczył się przez przechwyceniem sesji. Ale jak się zabezpieczyć? - zapytacie. Otóż istnieje bardzo prosta technika:
Jak się ustrzec przed tymi, jaki i kolejnymi potencjalnymi atakami napiszę w części 2 (w bliżej nie określonym terminie).
Czym jest sesja i do czego służy? Sesja to odmiana ciasteczka charakteryzująca się tym, że wszystkie dane sesji trzymane są po stronie serwera. Wydaje się być to najbezpieczniejszym rozwiązaniem ponieważ użytkownik posiada jedynie ID sesji i nie ma bezpośredniej możliwości manipulowania danymi zawartymi w sesji. Super mamy coś czego nikt nam nie zmieni!
Z w.w. powodu sesja to bardzo dobry sposób na trzymanie stanu zalogowania użytkownika oraz podstawowych danych sesji. Jednak jest tego zasadniczy minus. Co jak ktoś przechwyci sesję?
HTTP jest protokołem bezstanowym, dlatego każdy kto posłuży się ID sesji ma do niej dostęp. Załóżmy, że Janek zalogował się do serwisu i otrzymał identyfikator sesji ab12c. Następnie sytuację gdzie Krzysiek logując się do serwera lub też niekoniecznie po przez logowanie - celowo/niecelowo - otrzymuje ID sesji taki sam jak Janek. W tym momencie jeśli Krzysiek celowo przejął ID sesji Janka, dla serwisu jest Jankiem.
Przykry scenariusz, jednak jesteśmy na niego narażeni, jeśli nikt nie zabezpieczył się przez przechwyceniem sesji. Ale jak się zabezpieczyć? - zapytacie. Otóż istnieje bardzo prosta technika:
- przy tworzeniu sesji zapisujemy w sesji IP usera który powołał sesję do życia
- przy następnych zapytaniach porównujemy IP zapytania z IP w sesji
- jeśli IP się nie zgodzi niszczymy sesję
Jak się ustrzec przed tymi, jaki i kolejnymi potencjalnymi atakami napiszę w części 2 (w bliżej nie określonym terminie).
Subskrybuj:
Posty (Atom)