Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [Symfony]Symfony a duże projekty, wydajność
athabus
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Witam,

mam pytanie czy macie jakieś obserwacje dotyczące wydajności symfony w dużych projektach. Konkretnie nurtuje mnie czy rozległość "w poziome" portalu wpływa znacząco na wydajność. Czyli przykładowo jeden projekt symfony obsługuje np. wortal + sklep + forum + katalog.
Wiadomo w takich przypadkach przyrasta klas, reguł w konfiguracji itp. Pytanie czy to znacząco negatywnie wpływa na wydajność. Nie mam jeszcze nic na czym mógłbym to porównać, więc chciałbym poznać wasze opinie/doświadczenia.

Żeby doprecyzować chodzi mi tu o to, że portal (a co za tym idzie pojedynczy request) nie tyle jest skomplikowany co rozległy.

Ten post edytował athabus 1.12.2008, 16:52:58
Go to the top of the page
+Quote Post
Riklaunim
post
Post #2





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


Jeżeli poprawnie zaprojektujesz strukturę (baza, kod) to problemów nie będzie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




W pewnym niewielkim stopniu tak, spada wydajność. Ja doszedłem w pewnym momencie to 10 MB konsumpcji pamięci, bo klasy propela mają nieprzyjemny zwyczaj rozrastania się za każdym razem, gdy skorzystamy z klucza obcego w innej tabeli. Tym samym np. klasa sfGuardUserProfile ma u mnie obecnie coś w okolicach 90KB i ~4000 lini kodu (z komentarzami), a jako że jest stosowana przez większość modułów, obniża wydajność w całkiem znaczący sposób. Co do konfiguracji, to nie widzę jakiegoś dużego problemu. Ile możesz mieć wpisów? 500? 600? Wątpię trochę.

Wystarczy jednak jakiś akcelerator, usunięcie komentarzy z modeli, "spakowanie" jądra Symfony i mamy timingi niziutkie i zużycie pamięcie na poziomie 2 MB (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam.
Go to the top of the page
+Quote Post
michalg
post
Post #4





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

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


Cytat(Cysiaczek @ 1.12.2008, 17:04:53 ) *
Wystarczy jednak jakiś akcelerator, usunięcie komentarzy z modeli, "spakowanie" jądra Symfony i mamy timingi niziutkie i zużycie pamięcie na poziomie 2 MB (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Czego używasz do "pakowania"? A czy przy akceleratorze jest sens usuwać komentarze z plików php? Bo przecież akcelerator przechowuje "skompilowaną" wersję skryptu, która nie zawiera formatowania/komentarzy. Przynajmiej tak mi się wydaje.
Go to the top of the page
+Quote Post
Riklaunim
post
Post #5





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


10 MB RAM? Nietrudno znaleźć CMSa, który po instalacji ciągnie kilkanaście i więcej na stronie głównej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
athabus
post
Post #6





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Nie ukrywam, że właśnie propel budzi moje największe obawy - czasami klasy są tak przepakowane zbędnymi funkcjami, że aż strach ich używać...
BTW - zaciekawiłem się twoim stwierdzenim o akceleratorze - na swoim laptopie nie miałem zainstalowanego. Postawiłem sobie APC i zużycie pamięci spadło z 12M na 3,5M... Całkiem nieźle spodziewałem się spadku w granicach 40%.

Ciekawi mnie też co rozumiesz przez "spakowanie jądra", bo właśnie szukam takich "przyspieszaczy".
Go to the top of the page
+Quote Post
michalg
post
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

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


Cytat(athabus @ 1.12.2008, 20:42:48 ) *
Nie ukrywam, że właśnie propel budzi moje największe obawy - czasami klasy są tak przepakowane zbędnymi funkcjami, że aż strach ich używać...


Więc może doctrine? Tam klasy są tak proste, że nawet można je samemu pisać z palca.
Go to the top of the page
+Quote Post
athabus
post
Post #8





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Przymierzam się, acz poza wydajnością propel spełnia wszystkie moje oczekiwania. Z tego co wiem (bardziej ze słyszenia niż praktyki) to jednak doctrine jest uboższe. Dlatego najpierw przyjrzę się nowej wersji propela, która korzysta z PDO a potem doctrine jeśli czas pozwoli. Do doctrine się przymierzam bo pewnie jest znacznie bardziej wydajne niż propel.

Tymniemniej w tej chwili kończę projekt, które bazuje na propelu i to już się raczej nie zmieni bo zbyt wiele zachodu kosztowałoby przepisanie tego wszystkiego. Raczej będę próbował tutaj uzyskać jak najwyższą wydajność.
Go to the top of the page
+Quote Post
michalg
post
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

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


Cytat(athabus @ 1.12.2008, 21:18:50 ) *
Z tego co wiem (bardziej ze słyszenia niż praktyki) to jednak doctrine jest uboższe.


Mi się z kolei wydaje, że doctrine ma dużo większe możliwości. Choć nie znam na tyle ani jednego, ani drugiego rozwiązania, żeby móc to stwierdzić z pewnością. Być może to moje przeświadczenie wynika z tego, że doctrine ma dużo bardziej rozbudowaną dokumentacje, która opisuje jego możliwości. W propelu wygląda to dosyć słabo niestety.
Go to the top of the page
+Quote Post
mike
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(michalg @ 1.12.2008, 21:25:32 ) *
Mi się z kolei wydaje, że doctrine ma dużo większe możliwości. Choć nie znam na tyle ani jednego, ani drugiego rozwiązania, żeby móc to stwierdzić z pewnością.
LOL
"Niestety nie znam się na tym ale mi się wydaje ..." - blablabla
Jeśli chodzi o porównanie Propela z Doctrinem to możliwości są podobne z choć ze wskazaniem na Propela jako bardziej funkcjonalny ORM.
W kwestii szybkości jest już bardziej jednoznacznie. Doctrine jest szybszy. Od Propela w wersji 1.2 natomiast Propel 1.3 bije na głowę Doctine'a. Co przy podobnych możliwościach dyskwalifikuje Doctrine'a.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #11





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




http://www.symfony-project.org/book/1_0/18-Performance
Pod koniec tekstu od śródtytułu "Core Compilation" - tam jest o pakowaniu jadra, jak i dopakowywaniu swoich klas (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
michalg
post
Post #12





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

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


Cytat(mike @ 1.12.2008, 21:30:11 ) *
LOL
"Niestety nie znam się na tym ale mi się wydaje ..." - blablabla


Proponuję przeczytać dokładnie i ze zrozumieniem to, co napisałem, a nie przypisywać mi stwierdzień, których nie użyłem.

Cytat
Jeśli chodzi o porównanie Propela z Doctrinem to możliwości są podobne z choć ze wskazaniem na Propela jako bardziej funkcjonalny ORM.
W kwestii szybkości jest już bardziej jednoznacznie. Doctrine jest szybszy. Od Propela w wersji 1.2 natomiast Propel 1.3 bije na głowę Doctine'a. Co przy podobnych możliwościach dyskwalifikuje Doctrine'a.


Możesz rozwinąć swoją wypowiedź? Co ma propel bardziej funkcjonalnego? I na jakiej podstawie twierdzisz, że propel 1.3 bije na głowę doctrina pod względem wydajności?

Edit:

Przykład, czego brakuje w propelu to możliwości złączenia jednej tabeli wiele razy (po różnych kolumnach) do innej, tej samej tabeli. W doctrinie jest to możliwe dzięki aliasom w dqlu. Natomiast w propelu ma to być dopiero zaimplementowane w wersji 2.0, co pewnie szybko nie nastąpi sądząc po częstotliwości commitów do repozytorium w ostatnim czasie.

Ten post edytował michalg 1.12.2008, 22:02:14
Go to the top of the page
+Quote Post
athabus
post
Post #13





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Cytat(Cysiaczek @ 1.12.2008, 21:35:30 ) *
http://www.symfony-project.org/book/1_0/18-Performance
Pod koniec tekstu od śródtytułu "Core Compilation" - tam jest o pakowaniu jadra, jak i dopakowywaniu swoich klas (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam


Stupid me... Jakoś już chyba zatraciłem umiejętność czytania ze zrozumieniem - nie dalej jak 2 tygodnie temu czytałem ten rozdział... Dzięki wielkie, muszę przejrzeć mój projekt i na pewno wyłowię kilka problematycznych klas.
Go to the top of the page
+Quote Post
kwiateusz
post
Post #14


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




co do predkosci ormow np http://phplightorm.wiki.sourceforge.net/Li...trine+benchmark wystarczy pogooglac troche, widziałem rownież kiedy test propela 1.2 1.3 (beta) i doctrine, ale znaleźć nie moge. Po krotce był ow nim że propel 1.2 wypadał b. biednie, 1.3 super, a doctrine pośrodku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
michalg
post
Post #15





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

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


Cytat(kwiateusz @ 1.12.2008, 22:04:24 ) *
co do predkosci ormow np http://phplightorm.wiki.sourceforge.net/Li...trine+benchmark wystarczy pogooglac troche, widziałem rownież kiedy test propela 1.2 1.3 (beta) i doctrine, ale znaleźć nie moge. Po krotce był ow nim że propel 1.2 wypadał b. biednie, 1.3 super, a doctrine pośrodku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Właśnie na to samo patrzyłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Faktycznie, widać, że doctrine ma większy narzut niż propel. Chociaż porównują wersję doctrine 0.10.2, a od tego czasu trochę więcej wersji się pojawiło.

Ale czy taki test syntetyczny jest miarodajny? Przy prostych operacjach może propel jest faktycznie szybszy, ale nie wiadomo, jakby to wyglądało przy bardziej skomplikowanych selectach, z wieloma joinami, rozbudowanymi warunkami (gdzie proces budowania sqla i wydobywania danych do obiektów jest bardziej skomplikowany).

Również przy insertach do tabel z triggerami, dużą liczbą indeksów przewaga propela może już nie być taka zauważalna, bo wąskim gardłem może stać się baza danych.

Ten post edytował michalg 1.12.2008, 23:07:17
Go to the top of the page
+Quote Post
qqrq
post
Post #16





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


Skoro temat już poszedł w stronę porównywania ORM-ów, to powiem od siebie, że używałem i Propela i Doctrine i ten drugi wydał mi się o wiele bardziej przystępny. Najkrócej rzecz ujmując - to co przy pomocy obiektu Criteria w Propelu robimy w n liniach w Doctrine robimy DQL-em w jednej linii.
Go to the top of the page
+Quote Post
mike
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(qqrq @ 2.12.2008, 08:23:06 ) *
Najkrócej rzecz ujmując - to co przy pomocy obiektu Criteria w Propelu robimy w n liniach w Doctrine robimy DQL-em w jednej linii.
Propel w wersji 1.3 też nastawia sięmocno na fluent interface i też mozna psiać w jednej linii (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) za pomocą Criteria.
Choć fakt DQL jest fajny, choć ja nie mogę z nim pracować. Za bardzo porównuje do HQL'a.
Go to the top of the page
+Quote Post
qqrq
post
Post #18





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


Cytat(mike @ 2.12.2008, 10:02:49 ) *
Propel w wersji 1.3 też nastawia sięmocno na fluent interface i też mozna psiać w jednej linii (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) za pomocą Criteria.


Tym samym Propel zbliża się do Hibernate-a. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) I dobrze - oby było wygodniej.
Go to the top of the page
+Quote Post
stachuf11
post
Post #19





Grupa: Zarejestrowani
Postów: 154
Pomógł: 1
Dołączył: 24.04.2006

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


czy ktos może pokazać jakiś duży projekt w symfony, gdzie w bazie jest okolo 50- 100 tabel, i jak to szybko chodzi, ja probowałem cos zrobić gdzie ilośc tabel w bazie około 100, i niestety to bardzo wolno chodzi, na symfony 1.0

http://www.cmsynazamowienie.pl/katalogmedyczny/web/front.php
czasami chodzi szybciej bo cache ustawiony, ale docelowo tak byc nie może,

przy okazji symfony 1.2 chyba znacznie szybciej bedzie chodziło niz 1.0 chociażby ze względu na propela 1.3, czy tak?
pozdrawiam
Go to the top of the page
+Quote Post
c3zi
post
Post #20





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


Z tego co wiem to Pytamy.pl zrobione jest w symfony (jesli nie zmienieli tego). Jednak 50 tabel to zapewne tam nie ma..
Go to the top of the page
+Quote Post
AxZx
post
Post #21





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


Cytat(stachuf11 @ 7.12.2008, 19:56:06 ) *
czy ktos może pokazać jakiś duży projekt w symfony, gdzie w bazie jest okolo 50- 100 tabel, i jak to szybko chodzi, ja probowałem cos zrobić gdzie ilośc tabel w bazie około 100, i niestety to bardzo wolno chodzi, na symfony 1.0

http://www.cmsynazamowienie.pl/katalogmedyczny/web/front.php
czasami chodzi szybciej bo cache ustawiony, ale docelowo tak byc nie może,

przy okazji symfony 1.2 chyba znacznie szybciej bedzie chodziło niz 1.0 chociażby ze względu na propela 1.3, czy tak?
pozdrawiam


napisz jakie są czasy wykonywania. ile zapytań do bazy.
bo ten link nic nie daje - nie przekonamy się czy to wolno czy szybko działa.
mi bardzo wolno, ale tak samo wolno działają inne strony - tzn ściągają się dane.
Go to the top of the page
+Quote Post
athabus
post
Post #22





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Cytat(stachuf11 @ 7.12.2008, 19:56:06 ) *
czy ktos może pokazać jakiś duży projekt w symfony, gdzie w bazie jest okolo 50- 100 tabel, i jak to szybko chodzi, ja probowałem cos zrobić gdzie ilośc tabel w bazie około 100, i niestety to bardzo wolno chodzi, na symfony 1.0

http://www.cmsynazamowienie.pl/katalogmedyczny/web/front.php
czasami chodzi szybciej bo cache ustawiony, ale docelowo tak byc nie może,

przy okazji symfony 1.2 chyba znacznie szybciej bedzie chodziło niz 1.0 chociażby ze względu na propela 1.3, czy tak?
pozdrawiam

OMFG... że oni cię z tego hostingu nie wyrzucili ;-) To nigdy nie będzie szybko chodzić. na tej stronie masz 92 zapytania do bazy (to o jakieś ~85 za dużo). BTW zabezpiecz ten projekt bo teraz znam nazwy i pola połowy twoich tabel ;-).

//edit
na podstronach masz po ~230 zapytań do bazy

Ten post edytował athabus 7.12.2008, 20:45:12
Go to the top of the page
+Quote Post
AxZx
post
Post #23





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


ale czas tylko około 500ms, no i pamięć tylko 4MB.
od czego ta pamięć zależy?
mi zajmuje jakieś 7, a czasem nawet 11. widać, że ilość zapytań nie wpływa na nią.

edit
patrząc na zapytania do bazy, można powiedzieć, że mamy tu przykład źle zaprojektowanej aplikacji. a później się dziwić, że piszą o ociężałości symfony:)

Ten post edytował AxZx 7.12.2008, 21:01:33
Go to the top of the page
+Quote Post
phpion
post
Post #24





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(athabus @ 7.12.2008, 22:43:37 ) *
na tej stronie masz 92 zapytania do bazy (to o jakieś ~85 za dużo)

//edit
na podstronach masz po ~230 zapytań do bazy

(IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) o szit... Aczkolwiek! Przebiję Cię:
http://www.cmsynazamowienie.pl/katalogmedy...uktura/idstr/82
682(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) Zgroza!

Wracając jednak do tematu: ja aktualnie piszę sklep z wykrozystaniem Kohana. Może nic wielkiego, zapewnie 50 tabel nie będzie posiadało, jednak jestem w 100% przekonany, że całość będzie chodziła zdecydowanie szybciej niż odpowiednik napisany w Symfony. Im więcej używam Kohana, z im więcej elementów korzystam, tym więcej kocham (tak!) ten framework. Moim zdaniem możesz spokojnie postawić dowolnie duży system na tym frameworku. Polecam!
Go to the top of the page
+Quote Post
athabus
post
Post #25





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Cytat(AxZx @ 7.12.2008, 21:00:05 ) *
ale czas tylko około 500ms, no i pamięć tylko 4MB.
od czego ta pamięć zależy?
mi zajmuje jakieś 7, a czasem nawet 11. widać, że ilość zapytań nie wpływa na nią.

Czasy mi wychodził od 1250-5.000ms ale to o niczym nie świadczy bo nie wiadomo na czym to stoi.
Co do pamięci to kilka kwestii:
- 4mb to odpowiednik około 10-12mb na localhoscie przy założeniu, że hosting ma akcelerator a Ty nie masz. Jak obniżyć zużycie pamięci pisał Cysiaczek wyżej w tym poście.
- możesz obniżyć ilość pamięci wczytując mniej kodu (np. usuwając komentarze z propela w pliku propel.ini)

Sam się jednak zastanawiam jakie zużycie pamięci jest ok - mam za mało aplikacji do porównania, więc chętnie poznam opinię kogoś kto więcej popełnił w symfony.
Co do ilości zużytej pamięci vs ilość zapytań (czyli utworzonych obiektów) to imho ma to znaczenie, choć nigdy nie napisałem aplikacji, która ma ~600 zapytań - mam za słabego kompa ;-). Zauważ, że stronka jest prosta więc aż tak duże zużycie pamięci jest "nieuzasadnione". Ja mam teraz jedną podstronę, która zużywa 4mb z akceleratorem ale bez żadnej dodatkowej optymalizacji typu cachowanie/usuwanie komentarzy itp. Z tym tylko, że strona jest na prawdę "cieżka" - zawiera około ~30 bardzo skomplikowanych obiektów (złożenia wielu tabel). Samych zapytań jest około 8.

Co do "Kohanej" to nie znam, ale w CI programowało mi się baaaardzo przyjemnie - trudno jednak porównywać te dwa frameworki - zupełnie inna filozofia. Wydaje mi się, że symfony jest bardziej ociężałe ale z drugiej strony szybciej się w pisze kod (z naciskiem na wydaje mi się). W każdym z tych frameworków można jednak napisać aplikację z "przyzwoitą" prędkością.
Go to the top of the page
+Quote Post
sneq
post
Post #26





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 6.11.2007
Skąd: Trójmiasto

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


Moje doświadczenie podpowiada, że jeżeli zachowamy podstawowe reguły przyzwoitości, rozsądnie korzystając z propela (czyli doSelectJoinWszystkoCoNamPotrzebne), napiszemy ładny i przejrzysty kod, to projekt na symfony będzię ciągnął spokojnie długo...

Jak będziemy mieli dużo userów to ustawiamy proste cacheowanie.

Jak będziemy mieli bardzo dużo userów to będzie nas stać na to żeby zatrudnić kogoś kto się wszystkim zajmie, a my będziemy mogli leżeć na plaży w honolulu ;-)
Go to the top of the page
+Quote Post
misiaczekmarek
post
Post #27





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.06.2007

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


witam szanownych kolegów,

czytając posty dotyczące aplikacji "katalog medyczny" znalazłem informacje o ilości zapytań i braku zabezpieczeń. jak mierzycie ilość zapytań do bazy generowane przez strony w "nie waszych projektach" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ?

i życzę wszystkim Wesołych Świąt, jako że dzisiaj Wigilia.
Go to the top of the page
+Quote Post
athabus
post
Post #28





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


To akurat cecha Symfony. W Symfony jest środowisko developerskie, które pokazuje takie informacje jak ilość zapytań (i ich treść), zmienne środowiskowe, logi, czasy wykonania, zużytą pamięć itp. Przed publikacją projektu należy te środowiska zdezaktywować czego kolega nie zrobił więc widzieliśmy te wszystkie informacje.
Go to the top of the page
+Quote Post
AxZx
post
Post #29





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


Cytat(athabus @ 25.12.2008, 10:29:21 ) *
To akurat cecha Symfony. W Symfony jest środowisko developerskie, które pokazuje takie informacje jak ilość zapytań (i ich treść), zmienne środowiskowe, logi, czasy wykonania, zużytą pamięć itp. Przed publikacją projektu należy te środowiska zdezaktywować czego kolega nie zrobił więc widzieliśmy te wszystkie informacje.


po co dezaktywować? to jest przydatne nawet na serwerze publicznym. wystarczy zmienić nazwę na trochę bardziej trudniejszą.
chyba że czegoś nie wiem?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
athabus
post
Post #30





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Ja akurat preferuję usunięcie plików (nawet w cli jest odpowiednia komenda do tego) i dogrywanie ich w razie potrzeby - nie podobają mi się rozwiązania typu zmiana nazwy na trudniejszą. Ale każdy ma swoją "filozofię" i na pewno zmiana nazwy też zadziała w oczekiwany sposób.
Go to the top of the page
+Quote Post
misiaczekmarek
post
Post #31





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.06.2007

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


dzięki,

teraz rozumiem o czym mówiliście, że kolega miał niezabezpieczoną stronę. wszystko jasne.

poprawka: dalej ma niezabezpieczoną

Ten post edytował misiaczekmarek 25.12.2008, 12:00:07
Go to the top of the page
+Quote Post
AxZx
post
Post #32





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


Cytat(athabus @ 25.12.2008, 10:56:55 ) *
Ja akurat preferuję usunięcie plików (nawet w cli jest odpowiednia komenda do tego) i dogrywanie ich w razie potrzeby - nie podobają mi się rozwiązania typu zmiana nazwy na trudniejszą. Ale każdy ma swoją "filozofię" i na pewno zmiana nazwy też zadziała w oczekiwany sposób.


a dlaczego nie podoba Ci się ta "filozofia"?
wg mnie to żadna filozofia:) tylko po prostu zabezpieczenie przed informowaniem o tym co daje konfiguracja dev użytkowników, którzy nie muszą tego wiedzieć.
jakby tak za każdym razem wysyłać ten plik to można by się zamęczyć. jeżeli zmiana nazwy to dla Ciebie za mało to można zrobić dostęp na hasło. po podaniu hasła zapisywane dane w ciastku lub sesji i pasek dev pokazywany w ciągu całej sesji.
Go to the top of the page
+Quote Post
athabus
post
Post #33





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


A dlaczego nie zabezpieczasz panelu administracyjnego zmieniając nazwę skryptu na jakąś trudną... Po prostu nie są to eleganckie rozwiązania. Sami developerzy symfony zalecają usunięcie "devów" z aplikacji.
Co do zabezpieczenia hasłem to jak najbardziej ok. Ale usuwanie z produkcyjnego serwera środowiska developerskiego nie jest jakieś strasznie problematyczne - w końcu to 1-2 pliki.
Zauważ, że dev niesie ze sobą bardzo poważne zagrożenie - jeśli do takiego pliku jakimś cudem dotrze googlebot (a wystarczy 1 niepatrzenie pozostawiony link) to cała strona będzie indeksowała się podwójnie a to już krótka droga do jakiegoś filtra za podwojenie treści. Więc ogólnie zabezpieczanie hasłem ok, ale zmiana nazwy pliku to jak dla mnie takie brzydkie i niebezpieczne rozwiązanie.
Go to the top of the page
+Quote Post
destroyerr
post
Post #34





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Od wersji 1.1 kontrolery środowiska deweloperskiego dostają dodatkowe zabezpieczenie w postaci sprawdzania adresu IP ($_SERVER['REMOTE_ADDR']). Standardowo jest tam 127.0.0.1, ale można dodać też własne zewnętrzne IP. Plik będzie na serwerze a dostęp zabezpieczony. Chyba, że da się obejść.
Go to the top of the page
+Quote Post
AxZx
post
Post #35





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


Cytat(athabus @ 27.12.2008, 11:31:06 ) *
A dlaczego nie zabezpieczasz panelu administracyjnego zmieniając nazwę skryptu na jakąś trudną... Po prostu nie są to eleganckie rozwiązania. Sami developerzy symfony zalecają usunięcie "devów" z aplikacji.
Co do zabezpieczenia hasłem to jak najbardziej ok. Ale usuwanie z produkcyjnego serwera środowiska developerskiego nie jest jakieś strasznie problematyczne - w końcu to 1-2 pliki.
Zauważ, że dev niesie ze sobą bardzo poważne zagrożenie - jeśli do takiego pliku jakimś cudem dotrze googlebot (a wystarczy 1 niepatrzenie pozostawiony link) to cała strona będzie indeksowała się podwójnie a to już krótka droga do jakiegoś filtra za podwojenie treści. Więc ogólnie zabezpieczanie hasłem ok, ale zmiana nazwy pliku to jak dla mnie takie brzydkie i niebezpieczne rozwiązanie.


sugerujesz ze ktos moglby na glownej stronie wersji prod podac link do wersji dev?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to by dopiero bylo niebezpieczne. jezeli ktos tak robi to rzeczywiscie lepiej usunac te pliki,

Cytat(destroyerr @ 27.12.2008, 12:06:34 ) *
Od wersji 1.1 kontrolery środowiska deweloperskiego dostają dodatkowe zabezpieczenie w postaci sprawdzania adresu IP ($_SERVER['REMOTE_ADDR']). Standardowo jest tam 127.0.0.1, ale można dodać też własne zewnętrzne IP. Plik będzie na serwerze a dostęp zabezpieczony. Chyba, że da się obejść.


nic nie stoi na przeszkodzie zeby zaimplementowac to w wersji wczesniejszej:)
Go to the top of the page
+Quote Post
athabus
post
Post #36





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Cytat(AxZx @ 27.12.2008, 23:18:00 ) *
sugerujesz ze ktos moglby na glownej stronie wersji prod podac link do wersji dev?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to by dopiero bylo niebezpieczne. jezeli ktos tak robi to rzeczywiscie lepiej usunac te pliki,

A dlaczego zaraz na głównej? Zawsze jakiś link może Ci się zapodziać/wyciec. A to wkleisz przez przypadek na forum, a to omyłkowo dodasz do delicious zamiast zwykłej perspektywy, a to podasz klientowi który nie odróżnia jednej perspektywy od drugiej i gdzieś to wrzuci, a to zrobisz sobie linka na stronie dla szybkich testów i potem nie usuniesz, a to awaria zaskoczy cię gdy nie będziesz miał swojego kompa - sprawdzisz coś na cudzym i nie usuniesz historii itd itp... wiele się może zdarzyć.

Ostatnio testowałem wyszukiwarkę, która sama indeksowała strony biegając po linkach... Jakie było moje zdziwienie gdy w wynikach wyszukiwania znalazłem strony admina (nie były jeszcze zabezpieczone hasłem bo projekt na localhost)... Winny był właśnie jakiś link wstawiony na szybko dla testów - takie rzeczy na prawdę łatwo przeoczyć.

Także pytanie brzmi - czy zostawiłbyś panel admina do poważnego projektu z zabezpieczeniem polegającym na nietypowej nazwie? Pewni nie... Na tej samej zasadzie nie zostawiam perspektywy developerskiej. Wolę dmuchać na zimne. Jeśli Ty robisz inaczej Twoja sprawa - ale takie zabezpieczenie to żadne zabezpieczenie.
Go to the top of the page
+Quote Post
c3zi
post
Post #37





Grupa: Zarejestrowani
Postów: 266
Pomógł: 20
Dołączył: 15.11.2006
Skąd: Koszalin

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


Wydaje mi się, że wystarczy po prostu "wyłączać" środowisko developerskie. Usuwać to za dużo, czasem przydaje się testowanie na serwerze. Zmiana nazwy + nałożenie na odp. IP + wyłączanie aplikacji ( tu pomaga opcja disable dostępna w Symfony ).
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 2.10.2025 - 20:38