Maciekbjw
26.06.2008, 07:23:54
Witam,
ostatnio szperając w strukturze tabelek MySql sklepu osCommerce znalazłem jedną o nazwie 'sessions', gdzie przechowywane są wszystkie sesskey-e, expiry i wartości zmiennych SESSION. Ciekawi mnie po co to wszystko jest przechowywane w bazie, skoro zmienne sesyjne i tak siedzą na serwerze. Mógłby mi ktoś wyjaśnić, czy w praktyce trzymanie tych wartości w bazie jest do czegokolwiek potrzebne?
Czekam na odpowiedź, pozdrawiam.
.radex
26.06.2008, 20:25:35
Niektórzy uważają trzymanie sesji na serwerze za mało bezpieczne, więc przechowują je w bazie (własny system sesji). Tyle. Jeśli oscommerce trzyma je w bazie, to najwidoczniej nie trzyma ich na serwerze
klocu
26.06.2008, 21:15:52
Takie rozwiązanie alternatywne, gdy serwer ma problemy z katalogiem tmp (przypadkowe przepełnienie bufora danych sesyjnych - sam się z tym zmagam), wtedy rozwiązanie sql'owe jest tu jedynym które można zastosować jeśli chodzi nam o skuteczność.
Jasne że można zmienić katalog przechowywania na własny, ale to też nie zawsze może rozwiązać problem.
Tak jak powiedział poprzednik, jeśli ląduje je do bazy to i nie zapisuje ich na dysku. Nadpisujesz wbudowane funkcje sesji własnymi funkcjami. Wszystko zależy od potrzeb, możliwości i chęci.
l0ud
26.06.2008, 21:18:31
I tak sesji używasz, bo przechowujesz w niech chociażby identyfikator tej w bazie (no chyba że samo cookies). Rozwiązanie z bazą daje większe bezpieczeństwo i kontrolę nad sesją - z tym, że wiadomo - dodatkowe zapytania i tabela w bazie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.