phpmyadmin tempo di logout automatico


88

Come posso modificare l'ora di disconnessione automatica da phpmyadmin?

Si disconnetterà automaticamente dopo 1440 secondi, il che è molto basso per me. Come posso modificare l'opzione o rimuovere completamente la richiesta di accesso?

Risposte:


86

Crea o modifica il tuo php.inifile e imposta questo valore variabile in esso:

session.gc_maxlifetime = 1440

Il numero intero è in secondi. 500000 secondi corrispondono a 5,7 giorni. Quindi riavvia Apache.


2
quindi apri il tuo file php.ini e aumenta il valore di session.gc_maxlifetime, il gioco è fatto.
Ravinder Singh,

10
cattiva risposta, problemi di sicurezza!
Sebastian Viereck

1
Potrebbe anche essere necessario aggiornare $ cfg ['LoginCookieValidity'] nel file phpmyadmin config.inc.php.
Jorge Orpinel

5
@ slaver113 In questo caso direi che la sicurezza va bene in quanto è un ambiente di sviluppo, NON va bene per nessun ambiente di produzione. Preferirei vederlo menzionato nella risposta.
Manuel

8
Questo non ha nulla a che fare con il timeout di PHPMyAdmin. Non so perché sia ​​così votato. Non è nemmeno correlato alla domanda.
felwithe

112

La modifica di php.ini cambierà la durata della sessione per tutti i siti Web in esecuzione sul server. Per cambiarlo solo per PhpMyAdmin, apri config.inc.phpe aggiungi:

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

21
sembra esserci un'interfaccia utente per l'impostazione delle variabili config.php su localhost / phpmyadmin / setup /… - vedi Login Cookie Validity
psycho brm

Questa impostazione dell'interfaccia utente è un po 'confusa ma funziona per impostare la password in config per l'accesso automatico e impostare l'ora di scadenza della sessione. Voto positivo.
Antonio Max

1
Il tempo illimitato è quasi impossibile perché ogni cookie ha una "Valid Until" -Date, ma puoi semplicemente inserire un numero molto alto.
Marcel Burkhard

5
Questa dovrebbe essere la risposta. La domanda chiedeva come modificare phpMyAdmin. Questa risposta lo risolve in modo specifico.

1
È necessario modificare anche il percorso del cookie. Perché se gc_maxlifetime è definito per un altro sito Web, gc eliminerà tutti i cookie la prima volta che viene chiamato per un sito Web. Puoi aggiungere queste 2 righe nel file /etc/apache2/conf-available/phpmyadmin.conf: php_admin_value session.gc_maxlifetime 604800 + php_admin_value session.save_path / var / lib / phpmyadmin / tmp
fred727

96

In PHPMyAdmin 4 questo non appare più nel file config.inc.php. Invece vai su PHPMyAdmin nel tuo browser. Assicurati di essere a livello di localhost per vedere il collegamento Impostazioni. Quindi imposta Impostazioni> Funzionalità> Modifica il valore di "Validità cookie di accesso"> Salva

Istruzioni


NB sembra esserci un limite al numero di caratteri che puoi inserire in questo campo.
Kohjah Breese

1
La modifica dell'interfaccia utente non funziona per me. Si disconnette ancora troppo velocemente, non importa quanto sia grande la validità del cookie di accesso .
dani24

4
@ dani24, hai preso questo avviso: Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.? Fare clic sul collegamento in questo e verranno fornite le istruzioni per abilitare la possibilità di memorizzare in modo permanente le modifiche.
Parapluie

phpMyAdmin mostrerà questo errore. 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.Dovrai applicare la risposta di Ravinder Singh oltre a questa.
Abraham Murciano Benzadon

7
Non disponibile nella versione 4.8.4
Thanasis

11

È possibile modificare la funzione di sessione temporale dei cookie nell'interfaccia web di phpmyadmin

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

O

Se desideri modificare la "validità del cookie di accesso" nel file di configurazione, apri il file di configurazione phpmMyAdmin, config.inc.phpnella directory principale di PHPMyAdmin. (La directory principale è solitamente / etc / phpmyadmin /)

Dopo aver individuato il file config.inc.php, cerca la riga sottostante e impostala sul valore dei secondi che vuoi che phpmyadmin metta in timeout:

['LoginCookieValidity'] 

Se non riesci a trovare la riga sopra, aggiungi semplicemente quanto segue:

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

Per esempio:

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

Il timeout è impostato su 3 ore dall'esempio sopra.

session.gc_maxlifetimepotrebbe limitare la validità della sessione e se la sessione viene persa, anche il cookie di accesso viene invalidato. Quindi, potrebbe essere necessario impostare session.gc_maxlifetime nel php.inifile di configurazione (il percorso del file è / etc / php5 /apache2/php.ini in ubuntu).

session.gc_maxlifetime = 3600 * 3


Documentazione phpMyAdmin su LoginCookieValidity

$ cfg ["LoginCookieValidity"]

Tipo: intero [numero di secondi]
Valore predefinito: 1440

Definisci per quanto tempo è valido un cookie di accesso. Si noti che l'opzione di configurazione php session.gc_maxlifetime potrebbe limitare la validità della sessione e se la sessione viene persa, anche il cookie di accesso viene invalidato. Quindi è una buona idea impostare session.gc_maxlifetime almeno allo stesso valore di $ cfg ['LoginCookieValidity'].

NOTA:

  1. Se il tuo server si è bloccato e non è possibile caricare la tua pagina phpmyadmin, controlla il tuo log di Apache in /var/log/apache2/error.log. Se sei PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpsulla linea 135, fai un chmod 644 config.inc.php. quello dovrebbe occuparsi dell'errore.
  2. Se viene visualizzato l'avviso:, 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.quindi modificare il session.gc_maxlifetime come indicato sopra.

5

Solo per le installazioni LOCALI, puoi rimuovere completamente il login e il timeout: questo sembra essere quello che stai cercando. Modificando il tipo di autorizzazione in "config" e inserendo il nome utente e la password del database nel file di configurazione, si accede automaticamente. Aggiungi a 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;

Ovviamente se lo fai su un server su Internet, arriverà un po 'sfacciato e sfacciato e allegramente scaricherà tutte le tue password ed eliminerà il tuo sito web. Questo è per un server di sviluppo in esecuzione solo sul tuo laptop.

Un modo più semplice per personalizzare phpmyadmin in questi giorni è andare su http://www.example.com/phpmyadmin/setup/ , salvare tutte le sezioni delle impostazioni alla volta, fare clic su salva o scarica in fondo, copiare il file generato sul tuo root phpmyadmin directory, quindi chmod it. Devi disattivare i permessi di scrittura anche se si tratta di un server locale poiché phpmyadmin lo controlla prima di permetterti di accedere.


Il nome del file è sbagliato, non è un grosso problema poiché la maggior parte capirà cosa intendi. Il nome corretto, tuttavia, èconfig.inc.php
David

3

Esplora la directory "apps \ phpmyadmin4.5.2" nella tua cartella wamp e apri il file config.inc.php. Quindi aggiungi questa riga sotto il codice esistente.

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

È tutto...


1

Per phpMyadmin 5.0.2 in esecuzione su Ubuntu 18.04, ho modificato il file come segue:

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

  2. trova il metodo public static function getForms()e aggiunto il campo LoginCookieValidity

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
  3. salva il file e ora sarai in grado di cambiare il valore dall'interfaccia utente.

[Impostazioni -> Generali -> Funzionalità -> Validatità cookie di accesso]


Grazie per questo. Stavo guardando le risposte sopra, e tornando alla mia installazione 5.0.2, pensando che stavo impazzendo! Ti chiedi perché hanno rimosso l'interfaccia utente, soprattutto se è ancora pronta per essere riattivata?
Headbank

0

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


La stessa risposta è stata già pubblicata molto tempo fa (e con spiegazione + informazioni sul timeout della sessione php di cui manca la tua risposta).
Marki555

Anche se non ho menzionato, preferisco sempre risposte semplicissime per alcuni tipi di domande.
Pmpr

1
Sì, ma se imposti la validità del cookie di accesso su un valore più alto rispetto alla validità della sessione in php, non funzionerà.
Marki555

Non lo sapevo. grazie per il tuo commento informativo :)
Pmpr

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.