通过URL绕过受WordPress密码保护的帖子或页面

时间:2017-01-23 作者:JCF

我有一个受密码保护的页面,我希望可以通过自定义链接访问该页面,并在urlwww中将密码作为get变量。庄园。tld/我的页面?代码=mycustompassword

我找到了,但这不起作用Bypass password protected posts via GET variable

你能帮我绕过密码表吗

当做

2 个回复
SO网友:fergbrain

您可以使用与工作示例相同的原理,但是$_GET 具有$_POST. 所以在最后你会看到这样的情况:

// Your custom check for the \'$_POST\' content
// …also check if there in fact is a password
// …and if the user is a repeated visitor, do not set the Cookie again
if (
        isset( $_POST[\'circumvent\'] ) 
        and \'disable-pass\' === $_POST[\'circumvent\'] 
        and isset( $post->post_password )
        and ! isset( \'wp-postpass_\'.COOKIEHASH )
    ) {
    // Finally we use the plain text password to set the Cookie
    // as if the user would have entered it into the password form
    setcookie(
        \'wp-postpass_\'.COOKIEHASH,
        $hasher->HashPassword( wp_unslash( esc_attr( $post->post_password ) ) ),
        $expire,
        COOKIEPATH
    );
}
// Now display the content:
the_content();

SO网友:Joel M

不要使用\\u content(),而是使用echo apply\\u过滤器(\'the\\u content\',$post->post\\u content);我可能错了,但我相信这将完全绕过密码表单,然后您可以自己做是否显示内容的简单逻辑。但无论哪种情况,如果内容是非常敏感的数据,我强烈建议不要这样做。我希望这不是某人的个人信息。此外,您还必须确保帖子具有密码,以便它不会显示在搜索结果、站点地图、提要或wp json api端点中。

相关推荐

Password Protected Page Title

我目前正在使用Sage 8.5.1主题,并且有一些受密码保护的页面。客户希望删除“受保护”一词,但不希望删除标题。我使用了此代码段add_filter( \'protected_title_format\', \'remove_protected_text\' ); function remove_protected_text() { return __(\'%s\'); } 但它也删除了标题。我看过了,似乎到处都在使用基本相同的代码片段。我在根语篇上提出了这个问