konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
Widziałeś stronę banku napisaną w PHP? stronki w PHP tworzą gimnazjaliści, a poważne firmy używają Javy albo dotNeta.

Leżę i kwiczę :D
Ty na prawdę wierzysz, że banki wybierają język na podstawie "dorosłości" i "poważności" firmy?

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
...
Sesje się trzyma w bazie danych.
...

A czym niby jest baza danych? Czyż nie zbiorem danych w dowolnej formie z możliwością wyszukiwania?
...
Dodatkowo w ramach trollowania:
Jak ktoś uważa że PHP jest lepsze od JavaScripta to znaczy że ma zerowe pojęcie o programowaniu. Jak w ogóle można uważać że język funkcyjno-obiektowy, zbliżony do LISPa jest gorszy od czegoś tak niezdefiniowanego, zaśmieconego i nielogicznego jak PHP.

Moim zdaniem jak ktoś się nie zna na programowaniu to właśnie porównuje języki, każdy obecnie używany ma jakieś zalety które trzymają go na rynku.
Generalnie to każdy język obiektowy jest bardziej pamięciożerny od strukturalnego z klasami a rozwój JavaScript i Java wynika z obniżenia cen pamięci półprzewodnikowych na skutek masowej produkcji pendrive i SSD. Przedwczoraj w komputroniku widziałem 1GB RAMu do laptopa za 7zł(!!!) więc nic dziwnego że obecnie nikt się nie przejmuje zużyciem pamięci.
Nie wiem jak sprawa wygląda w PHP w którym i tak piszą tylko gimnazjaliści, ale w JavieEE te problemy zostały rozwiązane wiele lat temu.

Tak piszą, strukturalnie i funkcyjnie bez walidacji i sensu, jest też grupa programistów PHP którzy piszą obiektowo...

Jeśli chcesz sprzeczać się o wyższość jezyków to załóż oddzielny temat i tam wyrażaj swoją opinię, nie mów też że w Redis nie trzyma się sesji bo Dariusz zaproponował takie rozwiązanie i poprosił tylko o porady i pomysły a nie wywracanie całego projektu do góry nogami.Dawid Zając edytował(a) ten post dnia 03.11.12 o godzinie 22:53

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Wachowski:
Ty na prawdę wierzysz, że banki wybierają język na podstawie "dorosłości" i "poważności" firmy?

Najlepszym przykladem jest "rajfajsen bank" ktory zrobil cala swoja strone i system we flexie i baaaardzo szybko z niego uciekli.. jestem pewien ze idiota ktora podjad decyzje by tak sie wlasnie stalo, juz dawno tam nie pracuje ;)

ps. Java to pomylka genetyczna tego swiata - przynajmniej w uzytku webowym (nie wiedzialem nigdy, aplikacji ktora by sie nie sypala 10 raz dziennie), dotNet tylko dlatego ze wzgledu na wsparcie MS, sam jezyk nie ma nic specjalnego do zaoferowania vs. np. php.
Najlepszy przyklad mam u siebie w firmie... wybieraja rozwiazania za ktora moga zaplacic 50 tys $ rocznie, by miec "wsparcie" oficjalne jak tylko cos pojdzie nie tak.
Dla IT (kazdej firmy) takie rozwiazanie jest lepsze - mozna zatrudniac idiotow a niech ktos inny sie martwi jak pojawia sie powazne problemy. PRzeciez jest oficjalne wsparcie (potrzebne oczywiscie) :)

ps. znowu offtopa zafundowaliscie, ja tylko go ciagne :PAndrzej Winnicki edytował(a) ten post dnia 03.11.12 o godzinie 23:07

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michale, bądź "poważny" jak ta Twoja JAVA, nie zajmuj się "niepoważnym językiem" lecz czymś z sensem i przestań flejmować lewo i prawo.
.
.
.
.
.

P.S. Nie zapomnij odrobić lekcji na poniedziałekSebastian Poddubiuk edytował(a) ten post dnia 03.11.12 o godzinie 23:08

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Wystarczyło zahaczyć o wasze kochane PHP i wszyscy się zlecieli do tematu xD No to ciągniemy flejma.
Java jest bardzo dobra, napisałem w niej kilka serwerów i stron i żadna z nich się nie sypie. Poza tym jest bardzo bezpieczna w porównaniu z PHP albo C, trudniej w niej popełnić błąd i dlatego jest wybierana do rozwiązań biznesowych.
dotNet to nieudana podróbka javy.
Dawid Zając:
Moim zdaniem jak ktoś się nie zna na programowaniu to właśnie porównuje języki, każdy obecnie używany ma jakieś zalety które trzymają go na rynku.
Jak ktoś zna tylko 1,2 języki to ciężko mu porównywać. Przez ostatnie 14 lat pisałem w wielu różnych językach to porównuje, aktualnie piszę w js, scali, C, C++ :P
Tak piszą, strukturalnie i funkcyjnie bez walidacji i sensu, jest też grupa programistów PHP którzy piszą obiektowo...
W PHP nie da się pisać funkcyjnie, przynajmniej nie dało się w starszych wersjach.
Odsyłam do http://pl.wikipedia.org/wiki/Programowanie_funkcyjne i języków erlang, lisp, haskell, scala, javascript
No i programowanie funkcyjne jest o poziom wyżej od obiektowego(poziom abstrakcji).

Są zarówno języki przeznaczone dla amatorów jak i te przeznaczone dla zaawansowanych programistów, w dzisiejszych czasach używa się w większości tych pierwszych, głównie dlatego że większość programistów nie jest w stanie nauczyć się tych drugich. PHP jest dla amatorów, JS jest średni - pozwala zarówno na proste jak i zaawansowane techniki programistyczne(funkcje wyższego rzędu, metaprogramming), Haskell i scala są dla naukowców/czarodzieji.
Różnic miedzy językami nie można bagatelizować np. w scali kod zajmuje średnio 10 razy mniej miejsca niż w Javie - po prostu jest go mniej, a robi to samo. Jednocześnie konieczna jest znajomość sporej ilości teorii żeby w ogóle go zrozumieć.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Weźcie sobie nowy temat na ten offtop. Dopóki Michał Ł. nie skończy szkoły chyba nie ma co z jego urojeniami dyskutować.

Popracujesz i spojrzysz na bzdury które piszesz to może Ci przejdzie. A jak nie to cóż - kolejny troll ewangelista. Wpierw naucz się PHP zanim zaczniesz niektórym z nas mówić bzdury na temat tego co dzisiaj można lub nie w tym języku zrobić.

Michale, pisz w Javie, C czy w czymkolwiek innym a PHP i jego elastyczność zostaw tym którzy potrafią ją wykorzystać.

PS: jak masz bloga to napisz czym się różni język dla amatorów od języka dla Łukasza i podeślij nam link.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
...
Przez ostatnie 14 lat pisałem w wielu różnych językach to porównuje
...

Co nie znaczy że masz pojęcie o obecnych możliwościach tych wielu języków, PHP bardzo szybko się rozwija i nie mów że jest zły jak nie znasz doskonale wersji 6 która wprowadza sporo zmian.
W PHP nie da się pisać funkcyjnie, przynajmniej nie dało się w starszych wersjach.
Odsyłam do http://pl.wikipedia.org/wiki/Programowanie_funkcyjne i języków erlang, lisp, haskell, scala, javascript
No i programowanie funkcyjne jest o poziom wyżej od obiektowego(poziom abstrakcji).

Faktycznie poplątałem chodziło mi o programowanie imperatywne z rozbiciem na funkcje

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
Albo ja za mało lat w tym siedzę, albo nie masz zielonego pojęcia o czym piszesz.

Ani silne typowanie, ani paradygmaty czy inne cuda wianki nie czynią języka odpornym na głupotę. Tak jak w PHP, tak w każdym innym języku da się odwalić fuszerkę.
Jedyna różnica (w twoim mniemaniu) będzie taka, że w Javie odwalisz dorosłą, profesjonalną, bardzo dobrą a w PHP gimnazjalną i amatorską.

Zamiast poznawać języki, poznaj rynek, wymagania klientów, to co dla nich jest ważne.
90% z nich ma w głębokim poważaniu czy to będzie super dobra i bezpieczna Java.
Zaś pozostałe 10% musi wlec kulę u nogi bo już używają takiej i takiej technologii.

Na decyzję wyboru języka wpływa wiele rzeczy, także te niezwiązane bezpośrednio z informatyką.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Eh, mówię Panowie, zostawcie ten offtop, zatrzymajcie się przy temacie. Michał Ł. skończy szkołę, popracuje to może załapie w czym rzecz. Na dzień dzisiejszy żyje on jeszcze w swoim własnym świecie.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Dariusz Półtorak:
Weźcie sobie nowy temat na ten offtop. Dopóki Michał Ł. nie skończy szkoły chyba nie ma co z jego urojeniami dyskutować.
Skończyłem studia dawno temu. Miło że przechodzisz do argumentów ad persona :)
Popracujesz i spojrzysz na bzdury które piszesz to może Ci przejdzie.
Robię zlecenia i własne projekty od technikum więc na praktykę nie mogę narzekać.
A jak nie to cóż - kolejny troll ewangelista. Wpierw naucz się PHP zanim zaczniesz niektórym z nas mówić bzdury na temat tego co dzisiaj można lub nie w tym języku zrobić.
PHP uczyłem się jak chodziłem do gimnazjum, i od tego czasu staram się ograniczać kontakty z nim.
Michale, pisz w Javie, C czy w czymkolwiek innym a PHP i jego elastyczność zostaw tym którzy potrafią ją wykorzystać.
PHP jest mało elastyczny w porównaniu z Scalą albo JS.
PS: jak masz bloga to napisz czym się różni język dla amatorów od języka dla Łukasza i podeślij nam link.
Wypowiadałem się na ten temat prowadząc prelekcje na konferencjach różnych, nie mam bloga :)
Michał Wachowski:
Ani silne typowanie, ani paradygmaty czy inne cuda wianki nie czynią języka odpornym na głupotę. Tak jak w PHP, tak w każdym innym języku da się odwalić fuszerkę.
Tyle że w w językach dynamicznie typowanych o wiele łatwiej odwalić fuszerkę która będzie działać a błędy zostaną zauważone dopiero gdy ktoś je wykorzysta. Silne typowanie w Javie jest właśnie po to żeby utrudnić tworzenie błędów i przyśpieszyć ich wykrywanie.
Jedyna różnica (w twoim mniemaniu) będzie taka, że w Javie odwalisz dorosłą, profesjonalną, bardzo dobrą a w PHP gimnazjalną i amatorską.
Ciężko w internecie znaleźć skrypty PHP z czytelnym kodem dobrej jakości. Java natomiast została zaprojektowana z myślą o czytelności kodu i bezpieczeństwie.
Dariusz Półtorak:
Eh, mówię Panowie, zostawcie ten offtop, zatrzymajcie się przy temacie. Michał Ł. skończy szkołę, popracuje to może załapie w czym rzecz. Na dzień dzisiejszy żyje on jeszcze w swoim własnym świecie.
Jak na razie to Ty żyjesz w własnym świecie ograniczonym do PHPów i JSów, to już drugi Twój temat w którym wynajdujesz koło od nowa, tak wiec nie pisz lepiej o życiu w własnym świecie, bo przyganiał kocioł garnkowi, poza tym źle się to czyta. Nie dorosłeś do rozważań na temat języków programowania bo liznąłeś ich niewiele, podejrzewam że nie zadałeś sobie też trudu aby poznać teorie programowania i rachunek lambda. Poza tym dziwi mnie to że dopiero teraz zaczyna do Ciebie docierać to że dla zabawy Cie prowokuje :D

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:

Skończyłem studia dawno temu. Miło że przechodzisz do argumentów ad persona :)
Z profilu wynika, że nie tak dawno :)
Tyle że w w językach dynamicznie typowanych o wiele łatwiej odwalić fuszerkę która będzie działać a błędy zostaną zauważone dopiero gdy ktoś je wykorzysta. Silne typowanie w Javie jest właśnie po to żeby utrudnić tworzenie błędów i przyśpieszyć ich wykrywanie.
Raczej w językach kompilowalnych, jeśli już.
A i tak nie uchroni to przed bezsensem.
Jedyna różnica (w twoim mniemaniu) będzie taka, że w Javie odwalisz dorosłą, profesjonalną, bardzo dobrą a w PHP gimnazjalną i amatorską.
Ciężko w internecie znaleźć skrypty PHP z czytelnym kodem dobrej jakości. Java natomiast została zaprojektowana z myślą o czytelności kodu i bezpieczeństwie.
Nie jest ciężko znaleźć czytelny, porządny kod. Widzę go codziennie :)
Może i była, nie neguję tego - ale rzeczywistość mówi co innego.
Programy w Javie nie są najstabilniejsze (albo po prostu trafiam na takie) a i kod bywa nieczytelny (i tu też pewnie trafiam tylko na taki).

Ale co ja tam wiem, z Javą miałem styk dawno... chyba wtedy pisałeś testy przed gimnazjum? :)

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Dariusz Półtorak:
Nie wiem po co tak cudujesz.
Możesz chyba odczytać id sesji z ciasteczka więc nim operuj.

Nie chcesz operować id'ekiem z ciastka, to na podstawie fingerprinta + kilku innych unikalnych parametrów po stronie serwera wygeneruj klucz i przekaż go do klienta.

Zresztą - co byś nie kombinował to i tak zawsze jesteś podatny na przejęcie klucza.
Chcesz się uchronić - pozostaje ci SSL lub VPN.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Wachowski:
Dariusz Półtorak:
Nie wiem po co tak cudujesz.
Możesz chyba odczytać id sesji z ciasteczka więc nim operuj.

Nie chcesz operować id'ekiem z ciastka, to na podstawie fingerprinta + kilku innych unikalnych parametrów po stronie serwera wygeneruj klucz i przekaż go do klienta.

Zresztą - co byś nie kombinował to i tak zawsze jesteś podatny na przejęcie klucza.
Chcesz się uchronić - pozostaje ci SSL lub VPN.

Wiesz, jak by to było pod ten projekt pod który to zrobiłem to by mnie to właściwie waliło bo to intranet. Ale jak bym to chciał w przyszłości puścić w obieg to już raczej nieładnie by to było.

* Przyjąłem politykę wg której SID ma w sobie ID i hash.
* ID jest stałe a hash jest regenerowany co request.
* jeżeli przy badaniu sesji hash lub IP się nie zgadzają, sesja jest bezczelnie ubijana wg jej ID.

Co oznacza że w momencie gdy ktoś przejmie moje ciastko, ma jakimś cudem moje IP i uda mu się otworzyć poprawnie stronę - w momencie gdy zrobię COKOLWIEK na stronie użyje stary hash i w tym momencie sesja zostanie ubita dla nas obu.
SSL swoją drogą ale zawsze dobrze jest mieć coś takiego pod ręką.

@Michał Ł. to nie personalne wycieczki tylko fakty. Dopiero co skończyłeś szkołę, obstawiam że jeszcze nie byłeś w normalnej pracy i szczerze powiedziawszy większość tego co mówisz to głupoty. Ja Ci dobrze mówię żebyś programował sobie w Javie czy C++ a programowanie w PHP zostaw tym którzy wiedzą jak jego elastyczność wykorzystać.
Bo to co mówisz to prawda. Da się zrobić idiotyzmy w PHP. Tak samo w JavaScript czy innych językach typowanych dynamicznie. Ale obawiam się że owe idiotyzmy zależą od programisty a nie od języka co chyba jeszcze nie rozumiesz. I my to doskonale wiemy. Obstawiam że większość ludzi z grupy PHP podobnie jak ja pracowała z C/C++, Javie itp. Heh, nawet w Assemblerze dość sporo pisałem.
Dlatego Twoje komentarze uważam za dziecinne.Dariusz Półtorak edytował(a) ten post dnia 04.11.12 o godzinie 09:59

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Wachowski:
Zresztą - co byś nie kombinował to i tak zawsze jesteś podatny na przejęcie klucza.
Chcesz się uchronić - pozostaje ci SSL lub VPN.
W SSL i VPN też jest możliwe przejęcie klucza. Zawsze jest możliwy atak typu man in the middle, jedyna sytuacja w której nie jest możliwy to przekazanie sobie kluczy publicznych na pendrivach. Ale SSL z zapisaniem klucza prywatnego na komputerze użytkownika jest dość bezpieczny.
Dariusz Półtorak:
Co oznacza że w momencie gdy ktoś przejmie moje ciastko, ma jakimś cudem moje IP i uda mu się otworzyć poprawnie stronę - w momencie gdy zrobię COKOLWIEK na stronie użyje stary hash i w tym momencie sesja zostanie ubita dla nas obu.
SSL swoją drogą ale zawsze dobrze jest mieć coś takiego pod ręką.
A co jeśli ktoś ma otwarte 2 okna w tej samej sesji? np. otworzy drugie za pomocą ctrl+click - wtedy będzie miał stary hash w jednym z okien. Jednocześnie jeśli ktoś jest w stanie przechwycić Twoje ciasteczko to:
1. Stoi między Tobą a serwerem - żadne zabezpieczenie Cie nie uratuje.
2. Zrobił XSS - jak wyżej
3. Ukradł Ci pliki z komputera = ma do niego dostęp
Tak więc to zabezpieczenie jest daremnym łataniem dziur, aby troszkę urozmaicić hakerowi zabawę.
@Michał Ł. to nie personalne wycieczki tylko fakty. Dopiero co skończyłeś szkołę, obstawiam że jeszcze nie byłeś w normalnej pracy i szczerze powiedziawszy większość tego co mówisz to głupoty.
Normalna praca jest dla tych którzy sami nie wiedzą co robić(to musi im ktoś powiedzieć), poza tym podatki w Polsce są za duże :) Wolę robić biznesy xD
Ja Ci dobrze mówię żebyś programował sobie w Javie czy C++ a programowanie w PHP zostaw tym którzy wiedzą jak jego elastyczność wykorzystać.
No ale przecież ja nie chce programować w PHP, gdyby PHP był taki dobry i elastyczny to nie używał byś Node.JS :) Umiem pisać w PHP, napisałem w nim nawet kiedyś bota na IRC, ale to nie zmienia faktu że ten język jest paskudny i zupełnie się do niego zraziłem. Tak w ogóle to ta grupa jest o języku JavaScript a nie o PHP czy Node.JS.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
Michał Wachowski:
Zresztą - co byś nie kombinował to i tak zawsze jesteś podatny na przejęcie klucza.
Chcesz się uchronić - pozostaje ci SSL lub VPN.
W SSL i VPN też jest możliwe przejęcie klucza. Zawsze jest możliwy atak typu man in the middle, jedyna sytuacja w której nie jest możliwy to przekazanie sobie kluczy publicznych na pendrivach. Ale SSL z zapisaniem klucza prywatnego na komputerze użytkownika jest dość bezpieczny.
Nawet pomimo pendrive jest możliwe przejęcie klucza, zmienia się tylko sposób jego pozyskania :)
Przełamanie jakichkolwiek zabezpieczeń to tylko kwestia czasu i pieniędzy.
Nawet poziom wiedzy nie ma większego znaczenia - po prostu wydłuży czas potrzebny na zdobycie takowej :)

---
O normalności pracy się nie wypowiem, bo od dawna nie robię na etacie :)
A i pisanie ircbotów nie jest niczym niezwykłym.

---[edit]
Jak możesz przyrównywać node.js do php? Przecież to dwie różne architektury stworzone do różnych celów.Michał Wachowski edytował(a) ten post dnia 04.11.12 o godzinie 11:10

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
Dariusz Półtorak:
Co oznacza że w momencie gdy ktoś przejmie moje ciastko, ma jakimś cudem moje IP i uda mu się otworzyć poprawnie stronę - w momencie gdy zrobię COKOLWIEK na stronie użyje stary hash i w tym momencie sesja zostanie ubita dla nas obu.
SSL swoją drogą ale zawsze dobrze jest mieć coś takiego pod ręką.
A co jeśli ktoś ma otwarte 2 okna w tej samej sesji? np. otworzy drugie za pomocą ctrl+click - wtedy będzie miał stary hash w jednym z okien. Jednocześnie jeśli ktoś jest w stanie przechwycić Twoje ciasteczko to:
1. Stoi między Tobą a serwerem - żadne zabezpieczenie Cie nie uratuje.
2. Zrobił XSS - jak wyżej
3. Ukradł Ci pliki z komputera = ma do niego dostęp
Tak więc to zabezpieczenie jest daremnym łataniem dziur, aby troszkę urozmaicić hakerowi zabawę.

Michale, chyba Ci troszkę doświadczenia brakuje albo zwyczajnie się zagalopowałeś. Podając domenę oraz path "/" mam ciasteczko które jest widoczne z każdego adresu URL w obrębie zarówno domeny jak i jej subdomen.
Ciasteczko nie jest (jak chyba sugerujesz) widoczne tylko dla jednej karty. Jest zmieniane w obrębie przeglądarki i domeny pod którą jesteś - każdy request używa aktualnego ciasteczka niezależnie z której karty jest robiony.
Także mogę mieć gazylion zakładek a i tak ciasteczko w każdej jest odczytywane i przesyłane do serwera prawidłowo.

Może oczywiście otworzyć stronę w innej przeglądarce ale wtedy będzie działał na 2 oddzielnych sesjach.

Jeżeli ktoś przechwyci moje ciasteczko w jakikolwiek sposób - tak długo jak je dostanę nie będzie w stanie długo nic robić bo request z 2 różnych miejsc ubije sesje. Nie będzie się zgadzało IP bądź hash. Ten ktoś musiał by przechwycić ruch a później przesłać mi zupełnie inne dane od ID sesji zaczynając. Ale jak może zrobić coś takiego to żadne zabezpieczenie nie pomoże.

XSS to nie moja działka bo jak nawet wspomniałeś session hijacking to nie jedyna rzecz jaką ktoś może zrobić. Dla mnie jako osoby piszącej rozwiązanie związane z obsługą sesji ważne jest by session hijacking nie był skuteczny bo sam XSS może wiele.
I tutaj dalej w grę wchodzi IP i hash. I tu wszystko zależy od klienta. Ciasteczka są httpOnly co znacząco utrudnia zadanie atakującemu. Więc raczej będzie miał trudności ze zmianą ID u mnie. A jeżeli nie zmieni ID to obaj wywołamy stronę gdzie jeden z nas będzie miał zły hash. I w tym momencie sesja zostanie ubita.
Jeżeli ktoś jakimś cudem ma przeglądarkę w której httpOnly nie działa - dupa zbita. Może Ci zmienić ID sesji i ją całkowicie przechwycić. Ale niestety jak ktoś ma pełny dostęp do ciasteczek na twoim PC to niestety może zrobić wszystko niezależnie jaki mechanizm sesji zrobisz. Chyba że zaczęli byśmy się bawić w nieśmiertelne ciasteczka czyli mechanizm który składa je w każdym możliwym miejscu (z flashem na czele) i starannie patrzy czy ktoś nie stara się z nimi coś robić.

Jak mi ukradł pliki z komputera to też nie jest kwestia problemu o którym rozmawiamy.

Dlatego właśnie proszę byś zostawił dyskusję komuś kto się orientuje w temacie.
@Michał Ł. to nie personalne wycieczki tylko fakty. Dopiero co skończyłeś szkołę, obstawiam że jeszcze nie byłeś w normalnej pracy i szczerze powiedziawszy większość tego co mówisz to głupoty.
Normalna praca jest dla tych którzy sami nie wiedzą co robić(to musi im ktoś powiedzieć), poza tym podatki w Polsce są za duże :) Wolę robić biznesy xD

Porozmawiajmy jak te "biznesy" zrobisz. Poza tym na Twoim miejscu nie pisał bym takich rzeczy publicznie bo CI się skarbówka przypatrzy mocniej.
Ja Ci dobrze mówię żebyś programował sobie w Javie czy C++ a programowanie w PHP zostaw tym którzy wiedzą jak jego elastyczność wykorzystać.
No ale przecież ja nie chce programować w PHP, gdyby PHP był taki dobry i elastyczny to nie używał byś Node.JS :) Umiem pisać w PHP, napisałem w nim nawet kiedyś bota na IRC, ale to nie zmienia faktu że ten język jest paskudny i zupełnie się do niego zraziłem. Tak w ogóle to ta grupa jest o języku JavaScript a nie o PHP czy Node.JS.

Ale temat jest o współpracy pomiędzy Nodem a PHP i fajnie by było gdyby osoby rozmawiające znały PHP. Dlatego od początku zastanawiam się co tu robisz oprócz marnych prób ewangelizacji i nic nie wnoszącej dyskusji.Dariusz Półtorak edytował(a) ten post dnia 04.11.12 o godzinie 11:34

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
Normalna praca jest dla tych którzy sami nie wiedzą co robić(to musi im ktoś powiedzieć), poza tym podatki w Polsce są za duże :) Wolę robić biznesy xD

Normalna praca jest dla ludzi którzy chcą pracować przy dużych projektach wymagających całego zespołu a to że wiesz co robić nie znaczy że robisz to prawidłowo.
Jeśli chodzi o podatki to nie są żadnym problemem jeśli odpowiednio ci płacą, a jeśli płacą ci nieodpowiednio to albo zaniżasz stawki (nic osobistego ale śląsk kojarzy mi się właśnie z kiepskimi freelancerami pracującymy poniżej kosztów) albo swoją widzą nie zasłużyłeś na odpowiednia pensję.Dawid Zając edytował(a) ten post dnia 04.11.12 o godzinie 12:18

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Dariusz Półtorak:
XSS to nie moja działka bo jak nawet wspomniałeś session hijacking to nie jedyna rzecz jaką ktoś może zrobić. Dla mnie jako osoby piszącej rozwiązanie związane z obsługą sesji ważne jest by session hijacking nie był skuteczny bo sam XSS może wiele.
Jednak napisałeś wcześniej że Twój system ma chronić również przed skutkami XSS, wiec wykazałem że tego nie robi. Orientuje się w temacie, mam za sobą kilka udanych ataków XSS i sql-injection. Podałem przykłady w których Twój system jest zupełnie bezbronny, a Ty i tak upierasz się że jest potrzebny. Tak naprawdę Twoje rozwiązanie nic nie wnosi a komplikuje całą sprawę, jeśli jest inaczej to pokaż mi przypadek naruszenia uprawnień w którym Twoje rozwiązanie się obroni, a zwykły sessionID nie.
Tyle w temacie.
Michał Wachowski:
Jak możesz przyrównywać node.js do php? Przecież to dwie różne architektury stworzone do różnych celów.
Jako że są to 2 zupełnie różne architektury to możemy je porównać ze sobą. Z testów wynika że Node.JS jest szybszy i zużywa mniej pamięci od PHP. W ostatnim czasie obserwuje się coraz częstsze odchodzenie od synchronicznego IO na rzecz IO asynchronicznego i to nie tylko w Node.JS, takie rozwiązania są powszechnie stosowane również w innych językach, wielokrotnie widziałem wykorzystanie asynchronicznego IO w Javie.
Co do celów to sprawa jest bardziej oczywista - nodeJS jest przeznaczony do pisania serwerów, a PHP do pisania skryptów na strony. Jednocześnie nie ma czegoś takiego co da się zrobić w PHP i czego nie da się zrobić w NodeJS. Za to jest wiele rzeczy które da się zrobić w NodeJS i których nie da się zrobić w PHP.
Możemy również porównać oba sposoby wykonywania kodu - skrypty znane z PHP i CGI z aplikacjami znanymi między innymi z JavaEE i NodeJS. Każde z rozwiązań ma swoje zalety i wady, jednak aplikacje cechują się większymi możliwościami i większą wydajnością. PHP został stworzony jako język skryptowy który miał być łatwy do nauki, a nie służyć do implementacji zaawansowanych rozwiązań.

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Michał Łaszczewski:
Dariusz Półtorak:
XSS to nie moja działka bo jak nawet wspomniałeś session hijacking to nie jedyna rzecz jaką ktoś może zrobić. Dla mnie jako osoby piszącej rozwiązanie związane z obsługą sesji ważne jest by session hijacking nie był skuteczny bo sam XSS może wiele.
Jednak napisałeś wcześniej że Twój system ma chronić również przed skutkami XSS, wiec wykazałem że tego nie robi. Orientuje się w temacie, mam za sobą kilka udanych ataków XSS i sql-injection. Podałem przykłady w których Twój system jest zupełnie bezbronny, a Ty i tak upierasz się że jest potrzebny. Tak naprawdę Twoje rozwiązanie nic nie wnosi a komplikuje całą sprawę, jeśli jest inaczej to pokaż mi przypadek naruszenia uprawnień w którym Twoje rozwiązanie się obroni, a zwykły sessionID nie.
Tyle w temacie.

Dlatego mówię że brak Ci doświadczenia i chyba masz problemy ze zrozumieniem podstawowych rzeczy. Mechanizm sesji nie zabezpieczy Cie przed XSS bo to niemożliwe i to jest oczywiste. Ale mechanizm sesji może być przygotowany tak by bronił się przed atakami XSS skierowanymi w jego kierunku jak to tylko możliwe. I to właśnie robi.

Moje rozwiązanie (zresztą nie nowe) ma to do siebie że ma stałe session id które zostanie użyte do ubicia sesji w wypadku gdy ktoś spróbuje ją przechwycić. Używa ciasteczek httpOnly żeby ograniczyć pole manewru atakującego jako że w teorii ciasteczka httpOnly nie są widoczne przez JavaScript.

Co oznacza że jeżeli atakujący nie znajdzie jakiegoś porządnego sposobu by obejść ciasteczka httpOnly to w tym momencie nie zmieni mi ID sesji. a jeżeli owo ID przechwyci to wszystko co zrobi to ubije sesje jak tylko wykonam (ja atakowany) cokolwiek na stronie.

Także mechanizm jakoś się broni. Reszta strony - to już zmartwienie programisty. Czy teraz wytłumaczyłem to na tyle prosto byś był to w stanie zrozumieć ? System nie ma chronić przed XSS. Ma bronić przed XSS wymierzonym bezpośrednio w sesje i to robi na kilka sposobów. Pierwszym to ciastka httpOnly niewidoczne przez JS. Druga metoda to porównanie IP i user-agenta (opcjonalnie). Trzecia metoda to hash który ubije sesje w momencie jak więcej jak 1 osoba będzie korzystać z danej sesji.
Mechanizm działa i jest przeźroczysty.
Michał Wachowski:
nie strzęp sobie na niego języka bo to nie ma sensu. Chłopak żyje w swoim pięknym świecie. Uważaj bo jeszcze zbijesz mu szklany klosz. Michał Ł. sam przyznał że PHP nie zna (zresztą udowadnia to z każdą głupią wypowiedzią) co mimo wszystko jakoś nie przeszkadza mu wypowiadać się na ten temat. Jak dziecko mówiące o statkach kosmicznych.
Biorąc pod uwagę jego powyższe wypowiedzi (o ciasteczkach i jak to będzie problem z wieloma kartami) zaczynam mieć wątpliwości czy zna JavaScript tak dobrze jak myśli.
Pomijam fakt że od swojej pierwszej wypowiedzi jeszcze nic pozytywnego nie wniósł do tematu co jakoś nie przeszkadza mu w dalszym wypowiadaniu się. A szkoda.

@Michał Ł., załóż sobie nowy temat proszę pt "moje żale na temat PHP". Będzie szybciej i prościej a ten temat zostanie tym do czego został stworzony.Dariusz Półtorak edytował(a) ten post dnia 04.11.12 o godzinie 14:01

konto usunięte

Temat: Sesja między PHP a Node.js czy wieloma serwerami - pomysły ?

Dariusz Półtorak:
Także mechanizm jakoś się broni. Reszta strony - to już zmartwienie programisty. Czy teraz wytłumaczyłem to na tyle prosto byś był to w stanie zrozumieć ? System nie ma chronić przed XSS. Ma bronić przed XSS wymierzonym bezpośrednio w sesje i to robi na kilka sposobów. Pierwszym to ciastka httpOnly niewidoczne przez JS. Druga metoda to porównanie IP i user-agenta (opcjonalnie). Trzecia metoda to hash który ubije sesje w momencie jak więcej jak 1 osoba będzie korzystać z danej sesji.
Mechanizm działa i jest przeźroczysty.
No ok, ale w przypadku konkretnego ataku XSS Twój mechanizm niewiele zmienia, bo jak mam dostęp do javascriptu to mogę sobie robić prawie dowolne zapytania http do serwera które dalej będą wewnątrz Twojej zabezpieczonej sesji. Nie potrzebuje Twoich ciasteczek żeby przejąć sesje i atakować z innego IP jeśli mogę wykonywać zapytania które będą miały i tak zaufany sessionID i hash i adres IP ofiary. Nie wiem dlaczego tak bardzo starasz się nie dostrzegać tego problemu.
Pisałem że znam PHP(starsze wersje)

Dodane:
Są gotowe backdoory napisane w JS do zrobienia tego co opisałem. Chyba nigdy nie robiłeś ataków XSS, inaczej byś o tym wiedział.Michał Łaszczewski edytował(a) ten post dnia 04.11.12 o godzinie 14:44

Następna dyskusja:

Node.js czy Apache/PHP




Wyślij zaproszenie do