如何在WordPress中隐藏敏感页面,使其不被谷歌蜘蛛和非成员访问!

时间:2017-08-21 作者:narzan

我有一个包含我所有服务器数据的页面,这是非常敏感的信息。有没有什么强大的方法可以对谷歌蜘蛛和非登录用户隐藏它。

我找到了隐藏页面的小解决方案,但根本不安全,如果有人在网站目录中搜索,他将很容易访问该页面。有什么提示吗?!

3 个回复
最合适的回答,由SO网友:Anton Lukin 整理而成

使用password protection mechanism

或者,您可以在主题中使用wordpress挂钩,以以下方式仅向管理员显示您的帖子/页面:

add_action(\'wp\', function() {
  if(is_page(\'my-data\') && !current_user_can(\'manage_options\')) 
    die("123")
});
注意:不要使用此代码。这只是为了演示。更好地使用挂钩template_redirect 或者别的什么。

我们需要有关您的环境的更多信息,以便更具体地回答。

也许您最好的选择是通过http服务器设置密码。对于apache使用。HTACCESS与某事:

AuthType Basic
AuthName "restricted area"
AuthUserFile .htpasswd
require valid-user

SO网友:Rick Hellewell

除了使用密码保护机制(如另一个答案中所述),您还可以使用htaccess规则,如堆栈问题中所述:https://stackoverflow.com/questions/14603568/password-protect-a-specific-url

另一个可以帮助您进行密码加密的资源是:http://tools.dynamicdrive.com/password/ (该网站和信息已经存在多年,链接“消亡”的可能性很小)。

SO网友:Crazycoolcam

最有效的方法是,除非用户经过验证,否则不要显示它。

如果您已手动输入此信息,或有权使用自定义页面模板或快捷码来创建敏感信息,则可以对代码进行编程,使其仅在用户经过身份验证后才有选择地显示。

例如(shortcode方法):

function my_data_func( $atts ){
    if(is_user_logged_in() && current_user_can(\'manage_options\')) {
        //display my server data via return statement.
    } else {
        return \'I am sorry. You must be logged in as an administrator to view this content.\';
    }
}
add_shortcode( \'my_data\', \'my_data_func\' ); //Ex. [my_data]
页面模板方法的工作方式类似,但在主题中使用了一个额外的文件,然后指定要使用的受保护页面。

结束