thời gian đăng xuất tự động phpmyadmin


88

Làm cách nào để thay đổi thời gian đăng xuất tự động phpmyadmin?

Nó sẽ tự động đăng xuất sau 1440 giây, rất thấp đối với tôi. Làm cách nào để thay đổi tùy chọn hoặc xóa hoàn toàn yêu cầu đăng nhập?

Câu trả lời:


86

Tạo hoặc chỉnh sửa php.initệp của bạn và đặt giá trị biến này trong đó:

session.gc_maxlifetime = 1440

Số nguyên tính bằng giây. 500000 giây là 5,7 ngày. Sau đó khởi động lại apache.


2
vì vậy hãy mở tệp php.ini của bạn và tăng giá trị của session.gc_maxlifetime, vậy là xong.
Ravinder Singh

10
câu trả lời không tốt, vấn đề bảo mật!
Sebastian Viereck

1
Bạn cũng có thể cần cập nhật $ cfg ['LoginCookieValidity'] trong tệp config.inc.php của phpmyadmin.
Jorge Orpinel

5
@ slavever113 Trong trường hợp này, tôi muốn nói rằng bảo mật ổn vì đây là môi trường phát triển, điều này KHÔNG ổn đối với bất kỳ môi trường sản xuất nào. Tôi muốn thấy điều này được đề cập trong câu trả lời.
Manuel

8
Điều này không liên quan gì đến thời gian chờ của PHPMyAdmin. Tôi không biết tại sao nó được bình chọn rất cao. Nó thậm chí không liên quan đến câu hỏi.
felwithe

112

Thay đổi php.ini sẽ thay đổi thời lượng phiên cho tất cả các trang web đang chạy trên máy chủ. Để thay đổi nó chỉ cho PhpMyAdmin, hãy mở config.inc.phpvà thêm:

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

21
có vẻ là giao diện người dùng để thiết lập các biến config.php ở localhost / phpmyadmin / cài đặt / ... - xem Login Cookie Hiệu lực
BRM tâm lý

Cài đặt giao diện người dùng này hơi khó hiểu nhưng hoạt động để đặt mật khẩu trong cấu hình để đăng nhập tự động và đặt thời gian hết hạn phiên. Ủng hộ.
Antonio Max

1
Không giới hạn thời gian là một điều không thể vì mọi cookie đều có Ngày "Có hiệu lực", nhưng bạn có thể chỉ cần nhập một số rất cao.
Marcel Burkhard

5
Đây nên là câu trả lời. Câu hỏi đặt ra cách sửa đổi phpMyAdmin. Câu trả lời này giải quyết nó một cách cụ thể.

1
Bạn cũng cần phải thay đổi đường dẫn cookie. Bởi vì nếu gc_maxlifetime được xác định cho một trang web khác, gc sẽ xóa tất cả cookie trong lần đầu tiên nó được gọi cho một trang web. Bạn có thể thêm 2 dòng trong file /etc/apache2/conf-available/phpmyadmin.conf: php_admin_value session.gc_maxlifetime 604.800 + php_admin_value session.save_path / var / lib / phpmyadmin / tmp
fred727

96

Trong PHPMyAdmin 4, điều này không còn xuất hiện trong tệp config.inc.php nữa. Thay vào đó, hãy truy cập PHPMyAdmin trong trình duyệt của bạn. Đảm bảo bạn đang ở cấp máy chủ cục bộ để xem liên kết Cài đặt. Sau đó đặt Cài đặt> Tính năng> Thay đổi giá trị 'Hiệu lực cookie đăng nhập'> Lưu

hướng dẫn


NB dường như có giới hạn về số lượng ký tự bạn có thể nhập vào trường này.
Kohjah Breese,

1
Thay đổi giao diện người dùng không phù hợp với tôi. Nó vẫn đăng xuất quá nhanh, bất kể hiệu lực của cookie Đăng nhập lớn hơn thế nào .
dani24

4
@ dani24, bạn có nhận được thông báo này Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.không:? Nhấp vào liên kết này và nó sẽ cung cấp cho bạn hướng dẫn để bật khả năng lưu trữ vĩnh viễn các thay đổi.
Parapluie

phpMyAdmin sẽ hiển thị lỗi này. 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.Bạn sẽ phải áp dụng câu trả lời của Ravinder Singh cũng như câu trả lời này.
Abraham Murciano Benzadon

7
Không có trong phiên bản 4.8.4
Thanasis

11

Bạn có thể thay đổi tính năng phiên thời gian cookie tại giao diện web phpmyadmin

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

HOẶC LÀ

Nếu bạn muốn thay đổi 'hiệu lực cookie đăng nhập' trong tệp cấu hình, hãy mở tệp cấu hình phpmMyAdmin, config.inc.phptrong thư mục gốc của PHPMyAdmin. (Thư mục gốc thường là / etc / phpmyadmin /)

Sau khi định vị config.inc.php, hãy tìm kiếm dòng bên dưới và đặt nó thành giá trị giây bạn muốn phpmyadmin hết thời gian:

['LoginCookieValidity'] 

Nếu bạn không thể tìm thấy dòng trên, chỉ cần thêm dòng sau:

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

Ví dụ:

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

Thời gian chờ được đặt thành 3 Giờ từ Ví dụ trên.

session.gc_maxlifetimecó thể giới hạn hiệu lực của phiên và nếu phiên bị mất, cookie đăng nhập cũng bị vô hiệu. Vì vậy, chúng ta có thể cần đặt session.gc_maxlifetime trong php.initệp cấu hình (vị trí tệp là / etc / php5 /apache2/php.ini trong ubuntu).

session.gc_maxlifetime = 3600 * 3


Tài liệu phpMyAdmin về LoginCookieValidity

$ cfg ['LoginCookieValidity']

Loại: số nguyên [số giây]
Giá trị mặc định: 1440

Xác định thời gian một cookie đăng nhập có hiệu lực. Xin lưu ý rằng tùy chọn cấu hình php session.gc_maxlifetime có thể giới hạn hiệu lực của phiên và nếu phiên bị mất, cookie đăng nhập cũng bị vô hiệu. Vì vậy, bạn nên đặt session.gc_maxlifetime ít nhất bằng cùng giá trị $ cfg ['LoginCookieValidity'].

GHI CHÚ:

  1. Nếu máy chủ của bạn gặp sự cố và không thể tải trang phpmyadmin của bạn, hãy kiểm tra nhật ký apache của bạn tại /var/log/apache2/error.log. Nếu bạn đã PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpở dòng 135, sau đó làm một chmod 644 config.inc.php. điều đó sẽ quan tâm đến lỗi.
  2. Nếu bạn nhận được cảnh báo:, 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.thì hãy thay đổi session.gc_maxlifetime như đã đề cập ở trên.

5

Chỉ dành cho cài đặt ĐỊA PHƯƠNG, bạn có thể xóa hoàn toàn đăng nhập và thời gian chờ - đây có vẻ là những gì bạn đang theo đuổi. Bằng cách thay đổi loại ủy quyền thành "config" và nhập tên người dùng và mật khẩu cơ sở dữ liệu của bạn vào tệp cấu hình, bạn sẽ tự động được đăng nhập. Thêm vào 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;

Tất nhiên nếu bạn làm điều này trên một máy chủ trên internet, một số chappy táo tợn sẽ xuất hiện và vui vẻ tải xuống tất cả mật khẩu của bạn và xóa trang web của bạn. Điều này chỉ dành cho một máy chủ phát triển chạy trên máy tính xách tay của riêng bạn.

Một cách dễ dàng hơn để tùy chỉnh phpmyadmin ngày nay là truy cập http://www.example.com/phpmyadmin/setup/ , lưu tất cả phần cài đặt của bạn cùng một lúc, nhấp vào lưu hoặc tải xuống ở dưới cùng, sao chép tệp được tạo vào thư mục gốc phpmyadmin, sau đó chmod nó. Bạn phải tắt quyền ghi ngay cả khi đó là máy chủ cục bộ vì phpmyadmin sẽ kiểm tra điều này trước khi cho phép bạn đăng nhập.


Tên tệp bị sai, không phải là một vấn đề lớn vì hầu hết sẽ hiểu ý bạn. Tuy nhiên, tên chính xác làconfig.inc.php
David

3

Khám phá thư mục 'apps \ phpmyadmin4.5.2' trong thư mục wamp của bạn và mở tệp config.inc.php. Sau đó thêm dòng này dưới mã hiện có.

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

Đó là tất cả...


1

Đối với phpMyadmin 5.0.2 chạy trên Ubuntu 18.04, tôi đã chỉnh sửa tệp như sau:

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

  2. tìm phương thức public static function getForms()và thêm trường LoginCookieValidity

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
  3. lưu tệp và bây giờ bạn sẽ có thể thay đổi giá trị từ giao diện người dùng.

[Cài đặt -> Chung -> Tính năng -> Tính hợp lệ cookie đăng nhập]


Cảm ơn vì điều đó. Tôi đang xem các câu trả lời ở trên và quay lại cài đặt 5.0.2 của mình, và nghĩ rằng mình đã mất trí! Tự hỏi tại sao họ lại xóa giao diện người dùng, đặc biệt là nếu giao diện người dùng vẫn sẵn sàng để được kích hoạt lại?
Headbank

0

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


Câu trả lời tương tự đã được đăng cách đây khá lâu (và kèm theo giải thích + thông tin về thời gian chờ của phiên php mà câu trả lời của bạn thiếu).
Marki555

Mặc dù tôi không đề cập đến, nhưng tôi luôn thích những câu trả lời siêu đơn giản cho một số loại câu hỏi.
Pmpr

1
Có, nhưng nếu bạn đặt hiệu lực cookie đăng nhập thành giá trị cao hơn hiệu lực phiên trong php, nó sẽ không hoạt động.
Marki555

Tôi không biết điều đó. cảm ơn vì bình luận nhiều thông tin của bạn :)
Pmpr

-1

Tôi có phpmyadmin 4.9.2. và cố gắng định cấu hình LoginCookieValidity, nhưng tôi tự động đăng xuất :( Nếu bạn sử dụng localhost, bạn có thể thử https://docs.phpmyadmin.net/en/latest/config.html#example-for-ip-address-limited-autologin

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';
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.