2015-09-20 177 views
0

我遇到了密碼保護頁面的問題。我已經設置了密碼保護的可見性,但是當我從我通常的瀏覽器(Chrome)以及Firefox和IE11訪問該頁面(註銷)時,我仍然可以訪問該頁面,但頁面標題現在說保護:頁面標題WordPress的密碼保護頁面實際上並沒有保護

Using Password Protect食品進入它說WordPress的專賣店此密碼在瀏覽器中的cookie,以便讀者不必如果他們多次訪問同一頁面重新輸入密碼。我試圖將頁面完全鎖定,以便用戶每次嘗試訪問該頁面時都需要輸入密碼。我找到的所有google帖子都是針對密碼保護帖子的,我找不到任何專門做頁面的插件,他們都說WP有內置的內容,但我似乎無法弄清楚。

回答

0

我真的不知道你爲什麼要折磨你已通過驗證的用戶,但你可以做兩件事情之一:

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覆蓋窗口,或session控制與php。但是,就像之前說過的,我不知道你爲什麼想這樣做 - 我敢肯定你並沒有真正想到它。

而最後一件事 - 你檢查了你的主題文件,看看他們是否真的爲所有數據保護條件?

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

我沒有試圖用密碼保護登錄的用戶頁面;我想爲訪問者提供受密碼保護的頁面,所以當他們訪問它時,他們只需要密碼即可查看頁面/內容。沒有登錄/密碼,但一個簡單的密碼。 – vytfla

+0

首先,您必須更明確地提出您的問題,其次,內置的密碼保護功能完全符合您在註釋中描述的內容 - 無需登錄。第三 - 請再次查看我答案的最後部分。是你的主題準備好密碼保護? –