Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tablice (niby) globalne.
Fluke
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


Witam.
Chciałem zrobić coś w stylu cache ale na tablicach. Mianowicie jeżeli użytkownik zaloguje się poprawnie to do różnych tablic robię zrzut (prawie) całej bazy. Robię to po to żeby nie łączyć się z bazą za każdym razem kiedy użytkownik przejdzie na inna podstronę. I mam taki mały problem bo nie wiem jak zrobić żeby ta tablica była widoczna wszędzie. Mam Klasę Login.class.php i tam jest metoda loadUser() i jak przejdzie wszystkie warunki to wywołuję klasę cache.class.php z metodą loadChache() która ładuje (prawie) wszystkie tabele do różnych tablic. Przechodząc dalej do metody loadUser() jak user poprawnie się zaloguje i poprawnie załaduje się baza to automatycznie zastaje prze kierowany do index.php. i tutaj mam problem bo nie wiem jak zabardzo zrobić tą tablicę (niby) globalną a nie chcę za bardzo tego umieszczać w tablicy $_SESSION.

Jeszcze wspomnę że klasa loadCache() jest wywoływana tylko raz by załadować a chciałem użyć metody type getTable1, getTable2 itp. by pobierać tablice załadowane.

Czy jest jakieś rozwiązanie, i czy w ogóle to jest dobry pomysł na ten cach?
Moim zdaniem tak bo pozbywamy się zapytań do bazy, ale wolę usłyszeć wypowiedzi ekspertów bo jeszcze nie wiem czy potrzebnie się męczę.

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Quadina
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

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


ID sesji jest przechowywane przez cookie nadawane przy pierwszym połączeniu użytkownika z serwerem. Serwer rozpoznaje do ID i podaje skryptowi odpowiednie dane do _SESSION. Niestety jest prosta możliwość podszycia się pod kogoś - wystarczy ukraść mu ciastko i podawać się pod jego ID sesji. Można się przed tym prost zabezpieczyć sprawdzając np. IP klienta przy każdym wywołaniu strony. Możliwość jest, ale [nie]stety bardzo nikłe szanse na użycie jej przez potencjalnego atakującego - musiałby dostać się do komputerów innych użytkowników, albo podsłuchiwać tony pakietów.

@aart3k: wszędzie to nie - ale jak już istnieje klasę cache to ją wykorzystajmy korzystając z wzorów projektowych. Po za tym używanie wszędzie $_SESSION jest dla mnie raczej nie estetyczne, więc jak tylko mogę uciekam od tego. Kwestia przyzwyczajeń programistycznych, bo wydajność na tym poziomie można zaniedbać.

Ten post edytował Quadina 1.12.2010, 13:17:33
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 08:17