如何保护页面/帖子密码,使您每次访问该页面时都必须重新进入?

时间:2015-06-13 作者:Nick

我在子主题函数中添加了以下内容。php ///time out login so you must reenter it every time// add_action( \'wp\', \'post_pw_sess_expire\' ); function post_pw_sess_expire() { if ( isset( $_COOKIE[\'wp-postpass_\' . COOKIEHASH] ) ) // Setting a time of 0 in setcookie() forces the cookie to expire with the session setcookie(\'wp-postpass_\' . COOKIEHASH, $_COOKIE[\'wp-postpass_\' . COOKIEHASH], time() + 1 * 5, COOKIEPATH); }

我替换了 setcookie(\'wp-postpass_\' . COOKIEHASH, \'\', 0, COOKIEPATH); 具有 setcookie(\'wp-postpass_\' . COOKIEHASH, $_COOKIE[\'wp-postpass_\' . COOKIEHASH], time() + 1 * 5, COOKIEPATH); 因此,您必须在页面/每个会话上一分钟后重新输入密码。

如果我打开Chrome,转到页面,我转到http://happynick.com/marketing/extra/private/ 然后键入“private”进入页面。

当我“清除浏览数据”并返回http://happynick.com/marketing/extra/private/, 每次我都被要求输入“private”。太棒了但如果我不关闭Chrome就返回页面,我仍然可以访问该页面,而不需要输入密码。

在Firefox中,即使关闭Firefox并清除“首选项>高级>缓存的Web内容>立即清除”,我也可以访问它,而无需再次输入密码。

1 个回复
SO网友:TheDeadMedic

停止你正在做的事情-这太简单了!

function wpse_191369_post_password_expires() {
    return time() + 10; // Expire in 10 seconds
}

add_filter( \'post_password_expires\', \'wpse_191369_post_password_expires\' );
这就是你所需要的。

结束

相关推荐

Password protected sites

我正在为一些小学校做WP页面。我想给老师们一些特别的空间。我创建了一个受密码保护的页面,效果很好。我想创建更多,并使用第一个来呈现链接。我将主站点设置为其他站点的父站点。这对我来说很重要user should be asked for the password just once.我面临的问题:如果我用密码(即使是同一个)保护所有这些页面,那么每个页面上都会要求用户输入密码。如果我只保护第一页,而不是所有其他页面sitemap.xml (“Google XML Sitemaps”插件)我可以从网站地图中排