Cách dễ nhất để ngăn chặn WP không bao giờ đăng xuất tôi


28

Sau một khoảng thời gian nhất định WP đăng xuất tất cả người dùng và buộc họ phải đăng nhập lại. Đối với môi trường phát triển trên máy cục bộ của tôi, điều này thật đáng ghét và hoàn toàn không cần thiết.

Có cách nào để điều khiển API vô hiệu hóa đăng xuất tự động vô thời hạn không? Lý tưởng nhất là tôi muốn một cái gì đó tôi có thể thêm vào wp-config.phpcùng với các cài đặt liên quan đến thiết lập khác.

Một plugin sẽ quá mức đối với tôi vì vậy tôi sẽ không coi đó là câu trả lời, nhưng bạn cũng có thể đăng nó dưới dạng tùy chọn.

Câu trả lời:


27

Theo mặc định, hộp kiểm "Ghi nhớ" khiến bạn được nhớ trong 14 ngày. Điều này có thể lọc mặc dù.

Mã này sẽ thay đổi giá trị đó:

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );

function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}

1
Đây chính xác là những gì tôi cần. Tôi nghĩ rằng một hằng số cho giá trị này sẽ thực sự hữu ích, nhưng bộ lọc là thứ tốt nhất tiếp theo. Tôi thậm chí có thể sử dụng create_function()để làm điều đó trên một dòng.
jerclarke

2
create_function()là chậm và làm cho nó khó khăn để loại bỏ bộ lọc. Đó là cách tốt nhất để sử dụng một chức năng. :)
Viper007Bond

Bạn thậm chí có thể nhận được một phiên bản PHP gần đây và viết nó như đóng cửa: php.net/manual/en/functions.anonymous.php - suppors WordPress đó. Chỉ cần không cản trở bạn và không sử dụng create_feft () nữa. Nó thật tệ
hakre

1
YEAR_IN_SECONDScó thể được sử dụng thay thế 31556926. Có các hằng số khác nữa. (Xem wp-includes/default-constants)
Upeksha

1
@Upeksha: Tại thời điểm câu trả lời này được viết, những hằng số đó không tồn tại. ;) Bạn đúng mặc dù bây giờ họ làm vậy, tốt hơn là sử dụng chúng.
Viper007Bond

4

Điều này có liên quan nhiều hơn đến cách trình duyệt của bạn lưu trữ cookie. Khi bạn đăng nhập, bạn nên lưu cookie và WordPress sẽ đọc nó để xem bạn có xác thực không (ít nhất đó là những gì tôi hiểu được).

Trên tất cả các dev địa phương cài đặt tên người dùng của tôi là admin và mật khẩu của tôi là admin. Tôi không tìm thấy 8 chữ cái để thực sự là một vấn đề lớn nhưng có lẽ tôi gõ nhanh hơn?


Tôi sử dụng các bản sao lưu của cơ sở dữ liệu trực tiếp và trong đó tôi luôn có mật khẩu mạnh trên tất cả các tài khoản quản trị viên. Tôi cũng thường có các tên người dùng khác nhau cho các trang web khác nhau và trong nhiều trường hợp Firefox gặp khó khăn trong việc phân biệt các bản cài đặt cục bộ khác nhau của tôi cho mục đích tự động hoàn thành.
jerclarke

Chính xác, cài đặt trình duyệt của bạn sẽ ghi chức năng ghi nhớ tôi.
Brad Dalton

-2

Nó có hoạt động không, nếu bạn đặt nó trong wp-config.php?

function wp_validate_auth_cookie($cookie='',$scheme='') {
    return 1; // admin user id
}

Không được kiểm tra kỹ lưỡng. Nó không quá nhiều "không bao giờ đăng xuất tôi" mà là "coi mọi người là quản trị viên".


5
KHÔNG BAO GIỜ SỬ DỤNG TRONG SẢN XUẤT !!! Âm thanh như cài đặt hộp cát.
Arlen Beiler

2
ĐỪNG LÀM NÓ hoặc bạn sẽ nhanh chóng bị hack!
T.Todua
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.