Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][Symfony2]Używanie komponentów Symfony, Czy można użyć tylko kilku plików danego komponentu?
adbacz
post 4.01.2015, 10:01:53
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Chciałbym użyć komponentu HttpFoundation, jednak nie w całości ponieważ nie potrzebne jest mi tyle plików (oprócz licencji itp.) w aplikacji, więc nasunęło mi sie pytanie, czy można użyć tylko kilku plików danego komponentu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
by_ikar
post 4.01.2015, 12:24:16
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Zależy jakich plików. Tyle że całe httpfoundation akurat jest fajne, masz tam request, response, session, cookies itp. Za bardzo nie wiem z czego chcesz zrezygnować szczerze mówiąc.
Go to the top of the page
+Quote Post
adbacz
post 4.01.2015, 17:56:18
Post #3





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


No właśnie w tym problem. Napisałem do pewnej aplikacji zabezpieczenie sesji, które zapobiega jej wykradnięciu (a przynamniej bardzo utrudnia), ale zauważyłem, że sesję w Symfony2, tą NativeSession, można łatwo ukraść, poprzez skopiowanie ID z ciastka...
Go to the top of the page
+Quote Post
Forti
post 4.01.2015, 18:05:58
Post #4





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


Cytat(adbacz @ 4.01.2015, 17:56:18 ) *
No właśnie w tym problem. Napisałem do pewnej aplikacji zabezpieczenie sesji, które zapobiega jej wykradnięciu (a przynamniej bardzo utrudnia), ale zauważyłem, że sesję w Symfony2, tą NativeSession, można łatwo ukraść, poprzez skopiowanie ID z ciastka...



Coś mi się wydaje, że to wcale nie jest takie proste wink.gif chociaż fakt, że w bazie trzymane jest tylko session ID, bez dodatkowych informacji.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
adbacz
post 4.01.2015, 18:09:08
Post #5





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Zrobiłem tak, by po wykradnięciu ID sesji i podszyciu sie w innej przeglądarce, nie można było odczytać jej zawartości (jest resetowana) - podczas testowania to działało, ale nie mam 100% pewności tego rozwiązania.
Go to the top of the page
+Quote Post
by_ikar
post 4.01.2015, 19:33:35
Post #6





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


To że będziesz miał tam dwie trzy klasy w plikach których nie używasz nie powinno ci przeszkadzać, dlatego że to powinieneś traktować jak "vendor" i przeglądać tylko wtedy kiedy próbujesz zrozumieć działanie jakiejś funkcji. Nie ma problemu abyś napisał swoją wersję NativeSession która chroni przed sessjon hijacking.

Jeżeli chodzi o takie zabezpieczenie, to jest to trochę średnie zabezpieczenie, dlatego że ktoś kto potrafi wykraść komuś ID sessji, potrafi też odpowiednio preparować user agenta, więc wydaje mi się że nie powinieneś się tym aż tak bardzo przejmować, tylko wykorzystać to co już gotowego, co zostało przetestowane przez dziesiątki osób.
Go to the top of the page
+Quote Post
adbacz
post 4.01.2015, 19:58:19
Post #7





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Rozumiem pierwszy akapit, jednak zastanawia mnie trzymanie w aplikacji masy plików, których faktycznie nie użyję (wiem to na pewno już teraz). Aplikacja będzie instalowana na wielu serwerach przez innych ludzi dla innych ludzi więc nie widzę sensu niepotrzebnie zaśmiecać i powiekszać liczbę plików a za tym wielkość archiwum z aplikacją. Może się mylę, w końcu Symfony 2 ma mase plików, jednak faktycznie, one są, ale nikt mi ich nie nakazuje używać. Są do mojej dyspozycji i tylko ja o tym zdecyduję, czy ich użyje. Jednak, jeśli masz w domu niepotrzeby 4 telewizor, który leży i zawadza albo się kurzy, to będziesz go trzymał, czy oddasz komuś / sprzedasz / wyrzucisz?

Wiesz, wolę mieć czyste sumienie. Może nie zabezpieczy mnie to w 100%, ale zawsze jakoś utrudni to włamywaczowi działanie. Sprawdziłem to w różnych okolicznościach i działa bez problemu w kilkunastu stronach więc raczej nie jest w tym nic problematycznego, ale zawsze lepsze jakiekolwiek większe zabezpieczenie, niż żadne. Nie chcę później pluć sobie w twarz mówiąc "A czemu ja tego nie zrobiłem"...
Go to the top of the page
+Quote Post
by_ikar
post 4.01.2015, 22:00:20
Post #8





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Jakiś czas temu podobnie myślałem, przerobiłem kilka plików z httpfoundation, kilka wywaliłem, bo chciałem mieć "porządek", tyle że to wymaga czasu, wymaga sprawdzenia tego wszystkiego itp. Zrobisz jak uważasz, ale te kilka kilobajtów które mogą ci się w przyszłości przydać, nikomu nie zaszkodzi, a wątpię aby ktoś robił przy deploy'u z tego jakieś halo, że jest kilka kb w paczce więcej, zwłaszcza, że vendora raczej się nie commituje.. Nie kupuje telewizora, jeżeli jeden już mam wink.gif to że są jakieś pliki których się nie używa zawsze, to jest akurat nic groźnego, o ile te pliki wiele miejsca nie zajmują IMO. Huh tak pomyślałem że gdybyś zobaczył jak wyglądają pakiety NPM, gdzie każdy pakiet może mieć swoje submoduły, i takie submoduły mogą się powtórzyć w innych pakietach, to chyba byś osiwiał wink.gif ale tak to się robi, jeżeli chce się wykorzystywać jakieś zależności, jednocześnie nie mieć konfliktu w wersjach.

Zabezpieczenie jak chcesz zrobić, to zrób, tylko raczej zrób to jako klasa na zasadzie podobnej jak pozostałe klasy storage, które implementują interfejs sessionstorage. Bo jak komuś przyjdzie później to jakoś rozbudować, to będzie pisać od nowa, albo szukać po repozytoriach tego jednego pliku, co jest raczej średnie.
Go to the top of the page
+Quote Post
com
post 4.01.2015, 22:15:31
Post #9





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


by_ikar ma rację, bo spójrz na to z innej strony, sf jak każdy framework się rozwija, wiec modyfikując vendor skazujesz się na użycie tej jednej konkretnej wersji której używasz w tym momencie, a vendora do aplikacji się nie wrzuca tylko zaciąga composerem, wiec każda taka Twoja modyfikacja zmusiła by Cie do wrzucania całej paczki aplikacji wraz z tą daną wersją sf, co jest niezalecane wink.gif

Ten post edytował com 4.01.2015, 22:16:07
Go to the top of the page
+Quote Post
adbacz
post 4.01.2015, 22:19:45
Post #10





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Czy licencja komponentów Symfony mówi coś o tym, że trzeba każdy plik trzymać wraz z innymi z danego komponentu? Czy można (zachowując komentarze Copyrights) załączyć do projektu tylko jeden plik, czy trzeba trzymać wszystkie pliki komponentu w katalogu, tak, jak zostały pobrane?
Go to the top of the page
+Quote Post
com
post 4.01.2015, 22:30:40
Post #11





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


http://symfony.com/doc/current/contributin...de/license.html

tu wszystko jest napisane, to co chcesz zrobić miało by sens jakbyś tworzył własnego forka i go rozwijał, bo nawet jak nie używasz czegoś dziś to nie masz 100% gwarancji, że za chwile nie okaże się to Tobie potrzebne, Fabien dla "lekkich" aplikacji stworzył Silex, ale tam itak używane sa bungle sf, zobaczysz na działanie aplikacji to nie będzie miało wiekszego wpływu a oznacza tylko kłopoty wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 01:21