【问题标题】:Wordpress password protected page not actually protectedWordpress 密码保护页面实际上并未受到保护
【发布时间】:2015-09-20 01:47:10
【问题描述】:

我遇到了密码保护页面的问题。我已将可见性设置为受密码保护,但是当我从常用浏览器 (Chrome) 以及 Firefox 和 IE11 访问页面(注销)时,我仍然可以访问该页面,但页面标题现在显示 PROTECTED: PAGE标题

Using Password Protect codex 条目中说 WordPress 将此密码存储在浏览器 cookie 中,因此读者在多次访问同一页面时不必重新输入密码。我正在尝试将页面完全锁定,因此用户每次尝试进入该页面时都需要输入密码。我发现的所有谷歌帖子都针对密码保护帖子,我找不到任何专门用于页面的插件,他们都说 WP 内置了,但我似乎无法弄清楚。

【问题讨论】:

    标签: php wordpress passwords password-protection


    【解决方案1】:

    我真的不知道你为什么要折磨你已经通过身份验证的用户,但你可以做以下两件事之一:

    1 - 设置您自己的 cookie。

    function o99_set_newvisitor_cookie() {
        if ( !is_admin() && !isset($_COOKIE['sitename_newvisitor'])) {
            setcookie('sitename_newvisitor', 1, time()+3600*24*100, COOKIEPATH, COOKIE_DOMAIN, false); // change time ...
        }
    }
    add_action( 'init', 'o99_set_newvisitor_cookie');
    

    然后在你的主题中

    if (isset($_COOKIE['sitename_newvisitor'])) {
         echo 'We need password'; 
    }
    else {
         echo 'we do not need password'; 
    }
    

    2 。使用auth_cookie_expiration 过滤器减少身份验证会话长度。 (以下只是一个例子-根据自己的需要更改)

    function o99_cookie_expiration( $expiration, $user_id, $remember ) {
        return $remember ? $expiration : 600;
    }
    add_filter( 'auth_cookie_expiration', 'o99_cookie_expiration', 99, 3 );
    

    现在取决于您的时间设置,这会将用户踢出。

    其他不推荐的选项是 JS 覆盖窗口,或带有 phpsession 控件。

    但是,就像之前说的,我真的不知道你为什么要这样做——我很确定你并没有真正考虑清楚。

    最后一件事 - 你检查过你的主题文件,看看他们真的对所有数据都做了条件保护吗?

      if ( !post_password_required() ) {
        echo 'protected content'; //or content or title or whatever ..
      }
    

    【讨论】:

    • 我没有尝试用密码保护页面免受登录用户的影响;我想要一个为访问者提供密码保护的页面,所以当他们访问它时,他们只需要一个密码来查看页面/内容。没有登录名/密码,只有一个简单的密码。
    • 首先,您必须使您的问题更清楚,其次,内置的密码保护功能与您在评论中描述的完全一样 - 无需登录。第三 - 请再次查看我答案的最后一部分。你的主题准备好密码保护了吗??
    • @ObmerkKronen 的以下建议可以保护内容 if ( !post_password_required() ) { echo 'protected content'; //或内容或标题或其他任何东西.. }
    猜你喜欢
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 2017-11-24
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多