我想用密码保护我的整个WordPress站点(IP有效),除了一个页面

时间:2016-09-27 作者:Marina Rose

我当前正在使用。cPanel中的htaccess文件,用于密码保护我的Wordpress网站。有一个可以绕过登录表单的白名单IP地址列表。

我想把一个页面列入白名单,但我没有。php或。html文件到白名单。这是Wordpress中的一个页面,所以我意识到我可能需要找到一个插件或其他方法来实现这一点。我不想手动密码保护每一个页面,这样我就可以有一个页面向公众开放,所以。。。一定有办法做到这一点。

如果有人能帮忙,我们将不胜感激!

谢谢

2 个回复
SO网友:Greg McMullen

如果你只是想简单的“登录”,你可以使用htpasswdhtaccess. WordPress网站已经有htaccess 在主目录中。

添加.htpasswd 与根HTML文件夹处于同一级别的文件。示例:

. 
├── public_html
|   └── wordpress
|      └── .htaccess
└── .htpasswd
使用以下工具htpasswd generator 生成用户名/密码对。然后将此添加到.htpasswd 文件

找到路径$_SERVER["DOCUMENT_ROOT"] 可能会为您提供一些见解。

编辑WP.htaccess. 在#END WORDPRESS# 添加

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/mysite/.htpasswd
require valid-user
如果需要更详细的说明,请参阅this post.

但是,这并不能解决您关于IP验证的请求。This question 在StackOverflow上可以解决它。

您将更新.htaccess 要读取的文件

AuthUserFile /var/www/mysite/.htpasswd
AuthName "Please Log In"
AuthType Basic
require valid-user
Order allow,deny
Allow from xxx.xxx.xxx.xxx
satisfy any

SO网友:Muhammad Riyaz

你可以page-whitelist_content_page_slug.php 在您的主题文件夹中添加所需规则。

OR

在里面page.php 尝试以下条件:

<?php if (is_page(page_ID) ){ ?>
    //content for whitelist page 
<?php } 
else if(is_user_logged_in()){ ?>
 //Content for all pages
<?php } ?>

OR

这些插件可以帮助您:

(1)WP Private Content Plus

主要特点:

按用户组限制内容按用户角色限制内容按来宾或成员限制内容按用户角色级别限制内容按WordPress功能限制内容,用户组限制成员、来宾、用户角色的小部件,来宾通过多个用户元密钥限制内容通过多个用户元值限制内容通过用户类型限制搜索内容通过单一密码轻松实现与用户配置文件的集成Redirect to login if not logged in

如果未登录,请将用户重定向到登录页面

注意:两个插件都是免费的

相关推荐

如何在插件中使用wp_set_password?

我正在为我的多站点安装开发一个私有插件。我希望用户能够从插件设置页面更新其WP密码。我尝试了一些运气不佳的事情。在下面的代码中do_things 从未调用。当我移除add_action 我通过调用wp_set_password.任何帮助都将不胜感激。<?php /* Plugin Name: My Plugin Description: Author: Me Version: 1.0.0 */ class My_New_Plug