![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przy czym strona będzie chodzić szybciej? Przy z góry ustalonych danych i zapisanych w sesjach, czy przy każdym ładowaniu strony, łączeniem się z bazą danych i zapisywaniem zmiennych do stałych?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 21.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zależy od typu aplikacji, typu oraz rozmiaru danych, bazy danych, mechanizmu sesji. Każdorazowe łączenie się z bazą danych aby odczytać statyczne lub rzadko zmieniające się dane nie jest najlepszym pomysłem.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Bo chodzi mi o wczytywanie takich danych, jak id usera, login, email, gg, itp. Czyli lepiej sesje?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
dla wydajności lepsze sesje...chyba,
ale dla bezpieczeństwa lepsze zmienne i db. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
hmm czyli wychodzi na to, ze po wylogowaniu musiał bym kasować wszystkie sesje... Bo jeżeli różnica jest znikoma to lepiej stosować DB+stałe, tylko przy dużej ilości userów będzie problem...
Ten post edytował expert 23.01.2009, 14:27:12 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Sesje to będzie pewnego rodzaju cache, możesz zrobić to i na plikach. Nie widze sensu w pytanie, ponieważ jak już wspomniałem, masz zamiar stworzyć cache
![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przy czym strona będzie chodzić szybciej? Przy z góry ustalonych danych i zapisanych w sesjach, czy przy każdym ładowaniu strony, łączeniem się z bazą danych i zapisywaniem zmiennych do stałych? Odpowiedź: sesje Cytat ale dla bezpieczeństwa lepsze zmienne i db. eee tam, można zrobić cośtam, że można zmieniać dane w bazie 1. zbyt duża liczba połączeń może obciążać bazę, a programy śledzące trasę pakietów posiadane przez hax0rów mogą zczytać login i hasło do bazy 2. Dopóki pole w tabeli bazy user_logged jest ustawiony na 1, to żeby ustawić go na 0, trzeba kliknąć przycisk wyloguj. Tylko że nie każdemu się chce. A jak zapomni, to każdy może mieć dostęp do jego konta - sesje kasują się automatycznie. Bo chodzi mi o wczytywanie takich danych, jak id usera, login, email, gg, itp. Czyli lepiej sesje? Wczytywać możesz przez bazę. Ale jeśli chcesz po prostu sprawdzać, czy użytkownik jest zalogowany, aby na przykład nie wchodził na stronę bez uprzedniego zalogowania - to wykorzystuj zmienne sesji. One się do tego lepiej nadają Ten post edytował Asmox 23.01.2009, 16:48:56 -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 5 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
2. Dopóki pole w tabeli bazy user_logged jest ustawiony na 1, to żeby ustawić go na 0, trzeba kliknąć przycisk wyloguj. Tylko że nie każdemu się chce. A jak zapomni, to każdy może mieć dostęp do jego konta - sesje kasują się automatycznie. można zrobić tak żeby zczytywało z sesji na przykład ip, nazwe użytkownika i date zalogowania, takie same dane znajdowałyby się w tabeli z użytkownikami i przy logowaniu byłyby tylko porównywane, a jeśli ktoś chciałyby specjalnie zmienić zawartość sesji/ciasteczka, np. zmieniając login na administratora nie dopuściłoby go to, ponieważ reszta danych nie zgadzałaby się. Wczytywać możesz przez bazę. Ale jeśli chcesz po prostu sprawdzać, czy użytkownik jest zalogowany, aby na przykład nie wchodził na stronę bez uprzedniego zalogowania - to wykorzystuj zmienne sesji. One się do tego lepiej nadają W małouczęszczanym serwisie to może i dobre rozwiązanie, ale jeśli mamy doczynienia z dużym portalem/serwisem jest to poważna luka w zabezpieczeniach. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy że będzie to duży portal.
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 12 Dołączył: 9.10.2008 Skąd: Tricity.Rumia() Ostrzeżenie: (0%) ![]() ![]() |
pytanie do pana experta :] w jaki sposób przechowujesz sesje?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%) ![]() ![]() |
Odpowiedź: sesje eee tam, można zrobić cośtam, że można zmieniać dane w bazie 1. zbyt duża liczba połączeń może obciążać bazę, a programy śledzące trasę pakietów posiadane przez hax0rów mogą zczytać login i hasło do bazy 2. Dopóki pole w tabeli bazy user_logged jest ustawiony na 1, to żeby ustawić go na 0, trzeba kliknąć przycisk wyloguj. Tylko że nie każdemu się chce. A jak zapomni, to każdy może mieć dostęp do jego konta - sesje kasują się automatycznie. Wczytywać możesz przez bazę. Ale jeśli chcesz po prostu sprawdzać, czy użytkownik jest zalogowany, aby na przykład nie wchodził na stronę bez uprzedniego zalogowania - to wykorzystuj zmienne sesji. One się do tego lepiej nadają Twoje pojęcie o względach bezpieczeństwa i budowaniu aplikacji rozłożyło mnie na łopatki... Sesje jako typowe sejse przechowujące informację o userach itd. sądzę że lepiej trzymać w bazie. Znacznie ułatwia operowanie na ich (zliczanie ilości aktywnych userów w jakimś czasie itd). Poza tym uważam, że trzymanie w bazie jest bezpieczniejsze bo a nuż się trafi nieobeznany administrator serwera i inne osoby będą mieć dostęp do folderu tmp z sesjami, co w bazie danych raczej jest niemożliwe. W sieci można znaleźć przykłady session handlerów opartych o Mysql. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Sesja to mechanizm pozwalający na identyfikację użytkownika i przechowywanie danych ściśle z nim związanych w danym czasie.
Twoje pytanie to: czy mechanizm sesji oprzeć na bazie danych czy plikach tekstowych Wg zdecydowanie na bazie danych. Nie będę opisywać tego jak masz to wykonać - poszukaj w necie przykładów. Ważne będzie by tabela z sesjami była typu MEMORY co ułatwi dostęp do danych (prawdopodobnie będzie on szybszy niż w przypadku plików tekstowych) |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Twoje pojęcie o względach bezpieczeństwa i budowaniu aplikacji rozłożyło mnie na łopatki... Sesje jako typowe sejse przechowujące informację o userach itd. sądzę że lepiej trzymać w bazie. Znacznie ułatwia operowanie na ich (zliczanie ilości aktywnych userów w jakimś czasie itd). Poza tym uważam, że trzymanie w bazie jest bezpieczniejsze bo a nuż się trafi nieobeznany administrator serwera i inne osoby będą mieć dostęp do folderu tmp z sesjami, co w bazie danych raczej jest niemożliwe. W sieci można znaleźć przykłady session handlerów opartych o Mysql. No masz trochę racji. Ale ja się nie znam na zabezpieczeniach zbyt dobrze, ale no przecież bardzo rzadko zdarzają się napady na strony. Na mniejszych stronach ja polecam sesje, bo zajmują mniej kodu i są łatwiejsze ![]() -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 5 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 11:23 |