删除丢失的密码表单和URL

时间:2016-01-20 作者:Clarus Dignus

我已关闭所有用户的密码重置。

我现在需要预防/wp-login.php?action=lostpassword 任何人都应该手动将URL输入到浏览器中。

i、 e.我不想显示密码重置表单。

我可以禁用URL传递的操作还是可以重定向/wp-login.php?action=lostpassword/wp-login.php?

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

您好,请尝试在您的功能中使用此选项。php当用户尝试访问丢失的密码页面时,它会将用户重定向到登录表单:

add_action(\'init\',\'possibly_redirect\'); 
function possibly_redirect(){ 
   if (isset( $_GET[\'action\'] )){  
     if ( in_array( $_GET[\'action\'], array(\'lostpassword\', \'retrievepassword\') ) ) {
        wp_redirect( \'/wp-login.php\' ); exit;
     }
  }
}
或者,请遵循以下回答中使用的方法 answered here with some details 基于@Clarus Dignus的评论

function disable_lost_password() {
    if (isset( $_GET[\'action\'] )){
        if ( in_array( $_GET[\'action\'], array(\'lostpassword\', \'retrievepassword\') ) ) {
            wp_redirect( wp_login_url(), 301 );
            exit;
        }
    }
}
add_action( "login_init", "disable_lost_password" );

SO网友:rocknrollcanneverdie

您可以使用。htaccess和mod\\u rewrite。

禁止响应:

RewriteCond %{QUERY_STRING} ^action=lostpassword$ [NC]
RewriteRule ^wp-login.php$ - [F,NC]
重定向到wp登录。php:

RewriteCond %{QUERY_STRING} ^action=lostpassword$ [NC]
RewriteRule ^wp-login.php$ wp-login.php [R=301,NC,QSD,L]
(对于QSD标志,您需要Apache 2.4.0+)

SO网友:De Coder

我知道这是一个旧线程,但我有一些改进。首先,因为他们可以使用GET或POST,所以我将检查$\\u请求,而不是$\\u GET

其次,将它们重定向到无用的地方,而不是返回到您的站点。像\'http://127.0.0.1\' 如果他们那里没有web服务器,bot至少会暂停几秒钟,等待回复。我们能做什么来阻止这些a型洞。

相关推荐

WP_ENQUEUE_STYLE-css未加载-ERR_TOO_MANY_REDIRECTS

更改为后。在public\\u html中使用htaccess尝试HTTP->;我的网站的HTTPS重定向CSS开始失败。恢复文件没有帮助,所以我选择按forward来更改的所有实例http://domain->;https://domain在线使用推荐的方法。然而,我的CSS仍然没有加载。。。(已尝试清除本地和wordpress缓存)。通过浏览器检查开发人员,我发现以下错误:告诉我CSS文件没有被加载。检查这些表明CSS文件没有被带到本地计算机,复制链接我无法检索文件。。。但是,如果我删除?ve