phpmyadmin otomatik oturum kapatma süresi


90

Phpmyadmin'in otomatik oturum kapatma zamanını nasıl değiştirebilirim?

Benim için çok düşük olan 1440 saniye sonra otomatik olarak çıkış yapacak. Seçeneği nasıl değiştirebilirim veya oturum açma isteğini tamamen nasıl kaldırabilirim?

Yanıtlar:


87

php.iniDosyanızı oluşturun veya düzenleyin ve içindeki bu değişken değerini ayarlayın:

session.gc_maxlifetime = 1440

Tam sayı saniye cinsindendir. 500000 saniye 5.7 gündür. Ardından apache'yi yeniden başlatın.


2
php.ini dosyanızı açın ve session.gc_maxlifetime değerini artırın, işte bu.
Ravinder Singh

12
kötü cevap, güvenlik sorunları!
Sebastian Viereck

1
Ayrıca phpmyadmin config.inc.php dosyasında $ cfg ['LoginCookieValidity'] güncellemeniz gerekebilir.
Jorge Orpinel

5
@ slaver113 Bu durumda, bir geliştirme ortamı olduğu için güvenliğin iyi olduğunu söyleyebilirim, bu herhangi bir üretim ortamı için uygun DEĞİLDİR. Cevapta bunun bahsedildiğini görmeyi tercih ederim.
Manuel

8
Bunun PHPMyAdmin'in zaman aşımı ile ilgisi yoktur. Neden bu kadar yüksek oy aldığını bilmiyorum. Soruyla alakalı bile değil.
felwithe

115

Php.ini'yi değiştirmek, sunucuda çalışan tüm web siteleri için oturum süresini değiştirecektir. Bunu yalnızca PhpMyAdmin için değiştirmek istiyorsanız, açın config.inc.phpve ekleyin:

$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;

21
localhost / phpmyadmin / setup /… adresinde config.php değişkenlerini ayarlamak için kullanıcı arabirimi var gibi görünüyor - Oturum Açma Çerezi Geçerliliği
psycho brm

Bu kullanıcı arayüzü ayarı biraz kafa karıştırıcıdır ancak otomatik oturum açma için yapılandırmada parola ayarlamak ve oturum sona erme süresini ayarlamak için çalışır. Olumlu oy verin.
Antonio Max

1
Sınırsız süre imkansızdır çünkü her tanımlama bilgisinin bir "Geçerlilik Sonu" -Tarihi vardır, ancak çok yüksek bir sayı girebilirsiniz.
Marcel Burkhard

5
Cevap bu olmalı. Soru phpMyAdmin'in nasıl değiştirileceğini sordu. Bu cevap onu özellikle çözer.

1
Çerez yolunu da değiştirmeniz gerekiyor. Çünkü gc_maxlifetime başka bir web sitesi için tanımlanmışsa, gc bir web sitesi için ilk çağrıda bulunduğunda tüm tanımlama bilgilerini siler. Bu 2 satırı /etc/apache2/conf-available/phpmyadmin.conf dosyasına ekleyebilirsiniz: php_admin_value session.gc_maxlifetime 604800 + php_admin_value session.save_path / var / lib / phpmyadmin / tmp
fred727

96

PHPMyAdmin 4'te bu artık config.inc.php dosyasında görünmez. Bunun yerine tarayıcınızda PHPMyAdmin'e gidin. Ayarlar bağlantısını görmek için localhost düzeyinde olduğunuzdan emin olun. Ardından Ayarlar> Özellikler'i ayarlayın> "Giriş çerezi geçerliliği" değerini değiştirin> Kaydet

Talimatlar


Not: Bu alana kaç karakter girebileceğiniz konusunda bir sınır var gibi görünüyor.
Kohjah Breese

1
UI değişikliği benim için çalışmıyor. Giriş çerezinin geçerliliği ne kadar büyük olursa olsun, yine de çok hızlı çıkış yapıyor .
dani24

4
@ dani24, bu haber aldın: Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.? Buradaki bağlantıya tıkladığınızda, size değişiklikleri kalıcı olarak saklama yeteneğini etkinleştirmek için talimatlar verecektir.
Parapluie

phpMyAdmin bu hatayı gösterecektir. Your PHP parameter session.gc_maxlifetime is lower than cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.Ravinder Singh'in cevabını bunun yanı sıra uygulamanız gerekecek.
Abraham Murciano Benzadon

7
4.8.4 sürümünde mevcut değil
Thanasis

11

Çerez zamanı oturum özelliğini phpmyadmin web arayüzünde değiştirebilirsiniz.

Settings->Features->General->Login cookie validity

VEYA

Yapılandırma dosyasında 'oturum açma tanımlama bilgisi geçerliliğini' değiştirmek istiyorsanız config.inc.php, PHPMyAdmin'in kök dizinindeki phpmMyAdmin yapılandırma dosyasını açın . (Kök dizin genellikle / etc / phpmyadmin / şeklindedir)

Config.inc.php dosyasını bulduktan sonra, aşağıdaki satırı arayın ve phpmyadmin'in zaman aşımına uğramasını istediğiniz saniye değerine ayarlayın:

['LoginCookieValidity'] 

Yukarıdaki satırı bulamazsanız, aşağıdakileri eklemeniz yeterlidir:

$cfg['Servers'][$i]['LoginCookieValidity'] = <your_new_timeout>;

Örneğin:

$cfg['Servers'][$i]['LoginCookieValidity'] = 3600 * 3;

Zaman Aşımı, yukarıdaki Örnekten 3 Saat olarak ayarlanmıştır.

session.gc_maxlifetimeoturum geçerliliğini sınırlayabilir ve oturum kaybedilirse, oturum açma çerezi de geçersiz kılınır. Bu nedenle, php.iniyapılandırma dosyasında session.gc_maxlifetime'ı ayarlamamız gerekebilir (dosya konumu ubuntu'da / etc / php5 /apache2/php.ini'dir).

session.gc_maxlifetime = 3600 * 3


LoginCookieValidity'de phpMyAdmin Belgeleri

$ cfg ['LoginCookieValidity']

Tür: tamsayı [saniye sayısı]
Varsayılan değer: 1440

Bir oturum açma tanımlama bilgisinin ne kadar süreyle geçerli olacağını tanımlayın. Php yapılandırma seçeneği session.gc_maxlifetime'ın oturum geçerliliğini sınırlayabileceğini ve oturum kaybedilirse oturum açma tanımlama bilgisinin de geçersiz kılındığını lütfen unutmayın. Bu nedenle, session.gc_maxlifetime değerini en azından $ cfg ['LoginCookieValidity'] ile aynı değere ayarlamak iyi bir fikirdir.

NOT:

  1. Sunucunuz çöktü ve phpmyadmin sayfanızı yükleyemiyorsa, /var/log/apache2/error.log adresindeki apache günlüğünüzü kontrol edin. PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.php135 hattı aldıysanız , bir yapın chmod 644 config.inc.php. bu hatayı halletmelidir.
  2. Uyarıyı alırsanız:, yukarıda belirtildiği gibi Your PHP parameter session.gc_maxlifetime is lower that cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.değiştirin session.gc_maxlifetime.

6

Yalnızca YEREL yüklemeler için, giriş ve zaman aşımını tamamen kaldırabilirsiniz - bu, peşinde olduğunuz şey gibi görünüyor. Config dosyanızda veritabanı kullanıcı adı ve şifre "yapılandırma" için yetkilendirme türü değişen ve girerek otomatik kaydedilir ekle. config.inc.php:

$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Elbette bunu internetteki bir sunucuda yaparsanız, bazı arsız chappy gelir ve neşeyle tüm şifrelerinizi indirir ve web sitenizi siler. Bu, yalnızca kendi dizüstü bilgisayarınızda çalışan bir geliştirme sunucusu içindir.

Bu günlerde phpmyadmin'i özelleştirmenin daha kolay bir yolu, http://www.example.com/phpmyadmin/setup/ adresine gitmek , bir seferde tüm ayarlar bölümünüzü kaydetmek, en alttaki kaydet veya indir seçeneğine tıklamak, oluşturulan dosyayı root phpmyadmin dizini, ardından chmod. Phpmyadmin oturum açmanıza izin vermeden önce bunu kontrol ettiği için yerel bir sunucu olsa bile yazma iznini kapatmanız gerekir.


Dosya adı yanlış, çoğu kişi ne demek istediğinizi anlayacağı için büyük bir sorun değil. Yine de doğru isimconfig.inc.php
David

3

Wamp klasörünüzdeki 'apps \ phpmyadmin4.5.2' dizinini keşfedin ve config.inc.php dosyasını açın. Ardından bu satırı mevcut kodun altına ekleyin.

'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.

Bu kadar...


1

İçin phpMyadmin 5.0.2 aşağıdaki gibi Ubuntu 18.04 üzerinde çalışan, dosyayı düzenlendi:

  1. sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php

  2. yöntemi bulun public static function getForms()ve LoginCookieValidity alanını ekleyin

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
    
  3. dosyayı kaydedin ve şimdi değeri kullanıcı arayüzünden değiştirebileceksiniz.

[Ayarlar -> Genel -> Özellikler -> Oturum Açma Çerezi Doğrulaması]


Bunun için teşekkürler. Yukarıdaki cevaplara bakıyordum ve 5.0.2 kurulumuma geri döndüm ve aklımı kaçırdığımı düşünüyordum! Kullanıcı arayüzünü neden kaldırdıklarını merak ediyor musunuz, özellikle de hala yeniden etkinleştirilmeye hazırsa?
Headbank

0

Server:localhost -> Settings -> Features -> General -> Login cookie validity


Aynı cevap, uzun zaman önce zaten gönderilmişti (ve cevabınızda eksik olan php oturumu zaman aşımı hakkında açıklama + bilgi ile).
Marki555

Bahsetmeme rağmen, bazı sorular için her zaman süper basit cevapları tercih ederim.
Pmpr

1
Evet, ancak oturum açma tanımlama bilgisi geçerliliğini php'deki oturum geçerliliğinden daha yüksek bir değere ayarlarsanız, çalışmaz.
Marki555

Bunu bilmiyordum. bilgilendirici yorumunuz için teşekkürler :)
Pmpr

-1

Phpmyadmin 4.9.2'ye sahibim. ve LoginCookieValidity'yi yapılandırmayı deneyin, ancak otomatik çıkış yapıyorum :( localhost kullanıyorsanız https://docs.phpmyadmin.net/en/latest/config.html#example-for-ip-address-limited-autologin deneyebilirsiniz

if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.