Отключить кнопку возврата после выхода? - PullRequest
0 голосов
/ 20 февраля 2020

Я использую php. я хочу перенаправить пользователей на страницу выхода, когда он нажимает кнопку «Назад» после входа в систему. Как этого добиться? где написать код?

Я вошел на сайт администратора ... выскочил, а затем нажмите кнопку назад, и я могу видеть предыдущую страницу. Почему администратор сайта не справляется с этим.

Это код для выхода из системы администратора сайта:

if( !function_exists( 'adifier_logout_inactive' ) ){
function adifier_logout_inactive( $username, $user ){
    if( !is_wp_error( $user ) ){
        $logout = true;
        if( !empty( $user->allcaps['edit_posts'] ) && $user->allcaps['edit_posts'] === true ){
            $logout = false;
        }
        else if( get_user_meta( $user->ID, 'user_active_status', true ) == 'active' ){
            $logout = false;
        }
        if( $logout === true  ){
            wp_logout();
        }
    }
}
add_filter( 'wp_login', 'adifier_logout_inactive', 10, 2 );
}

1 Ответ

0 голосов
/ 20 февраля 2020

Первый вопрос: Что такое back button?

Ответ: Это кнопка вне контроля веб-сервера. Если нажать, браузер снова загрузит страницу с предыдущим использованным URL. Некоторые браузеры (или все?) Поддерживают back N steps button.

Что видит веб-сервер?

Веб-сервер видит только URL. Он не знает, загружен ли URL снова или пользователь использовал одну из кнопок «назад». Таким образом, (новый) URL-адрес является единственными данными для принятия решения. Единственный шанс распознать использование back button - это также использовать данные сеанса.

Подводные камни: пользователь может открыть несколько windows. Он может нажать кнопку перезагрузки. Он может устанавливать и использовать закладки.

Обладая этими знаниями, вы должны переосмыслить способ обнаружения w back button и действительно ли вы хотите управлять (некоторыми аспектами) им. Или другими словами: стоит ли запрещать повторную загрузку предыдущего URL.

Решением может быть: Если пользователь заходит на страницу входа и уже вошел в систему, перенаправьте его на другую страницу (добро пожаловать , статус, обзор). Я делаю это на своих сайтах.

...