Automatyczne wylogowanie z panelu administracyjnego sklepu po 15 minutach bezczynności wprowadzone zostało w celu spełnienia surowych wymogów bezpieczeństwa koniecznych do uzyskania Certyfikatu PA-DSS. Sklep internetowy Zen Cart, począwszy od wersji 1.5.0 jest aktualnie jedynym oprogramowaniem Open Source który pomyślnie przeszedł wszystkie testy bezpieczeństwa i uzyskał Certyfikat PA-DSS. Dla części użytkowników konieczność ponawiania logowania do panelu administracyjnego sklepu jest jednak co najmniej uciążliwa i denerwująca, w związku z czym poniżej przedstawiamy sposób na wydłużenie czasu bezczynności po którym następuje automatyczne wylogowanie.
1. Korzystając z phpMyAdmin-a lub dostępnego w panelu administracyjnym sklepu narzędzia "Instalator modułów SQL" wykonujemy poniższe zapytanie SQL:
UPDATE configuration SET configuration_value = '14400', set_function = 'zen_cfg_select_option(array(\'14400\', \'1800\', \'900\', \'600\', \'300\'), ' WHERE configuration_key = 'SESSION_TIMEOUT_ADMIN';
2. W pliku /includes/functions/sessions.php zastępujemy widoczny poniżej fragment oryginalnego kodu (od linii 16) :
if (!$SESS_LIFE = (SESSION_TIMEOUT_ADMIN > 900 ? 900 : SESSION_TIMEOUT_ADMIN)) {
$SESS_LIFE = (SESSION_TIMEOUT_ADMIN > 900 ? 900 : SESSION_TIMEOUT_ADMIN);
}
} else {
fragmentem:
$SESS_LIFE = SESSION_TIMEOUT_ADMIN;
} else {
oraz dodatkowo oryginalny fragment (około linii 107):
@ini_set('session.gc_maxlifetime', (SESSION_TIMEOUT_ADMIN > 900 ? 900 : SESSION_TIMEOUT_ADMIN));
zmieniamy na:
@ini_set('session.gc_maxlifetime', SESSION_TIMEOUT_ADMIN);
Po dokonaniu tej zmiany czas sesji administratora zostanie domyślnie wydłużony do 4 godzin. Ustawienie to można zmienić w zakładce "Konfiguracja->Mój sklep->Długość sesji administratora - w sekundach", gdzie po dokonaniu powyżej opisanej zmiany obok dotychczasowych znajdziemy nowe, dodatkowe dwa przedziały czasowe, czyli domyślnie ustawiony 14400 sekund oraz 1800 sekund.
Pamiętaj jednak że powyższa zmiana ułatwia dostęp do panelu administracyjnego sklepu osobom nieupoważnionym jeżeli z komputera korzysta kilka osób - w przypadku gdy oddalasz się od komputera musisz pamiętać o wylogowaniu się z panelu administracyjnego, bo program sam już tego nie zrobi po 15 minutach!