Wordpress 什么';这是隐藏/阻止访问wp admin的正确方法

Wordpress 什么';这是隐藏/阻止访问wp admin的正确方法,wordpress,login,restrict,Wordpress,Login,Restrict,我处理这件事已经有一段时间了,我读了很多文章和东西,但是我找不到一个地方显示正确的方式,标准,正确,不管你怎么称呼它,来阻止访问我的wp-admin或wp-login.php 在我看到的所有Wordpress网站(制作精良的网站)上,如果你键入site.com/wp-admin,你将永远看不到任何东西 正如我所看到的,一种方法是通过创建一个.htaccess文件来限制对该文件夹的访问,并通过IP限制对该文件夹的访问。这似乎是最“干净”的方式。我不确定的是,我的ISP提供了一个动态地址,所以在某个

我处理这件事已经有一段时间了,我读了很多文章和东西,但是我找不到一个地方显示正确的方式,标准,正确,不管你怎么称呼它,来阻止访问我的wp-admin或wp-login.php

在我看到的所有Wordpress网站(制作精良的网站)上,如果你键入site.com/wp-admin,你将永远看不到任何东西

正如我所看到的,一种方法是通过创建一个.htaccess文件来限制对该文件夹的访问,并通过IP限制对该文件夹的访问。这似乎是最“干净”的方式。我不确定的是,我的ISP提供了一个动态地址,所以在某个时候我的IP会改变,这将迫使我也改变对我新地址的.htaccess,我认为这不实用。我也可以设置一个范围,但通过这样做,我也将授权访问该IP范围内的所有人(例如我ISP的其他客户端)

然后,我正在努力找到最好/标准的方法来实现这一点

有人能帮我吗

感谢来自-声称提供了重命名wp admin的解决方案。我还没有测试过,但它似乎确实对人们有用

但是,

这种黑客有它的缺点

  • 你帖子上的“编辑”链接将不再有效。您可能希望将其从主题中删除
  • 侧栏上的管理员链接将不再工作。您可能希望将其从主题中删除
  • 标准登录链接将不再工作。相反,使用书签,因为它会在您完成登录后将您重定向回隐藏的登录页面
另一种选择是,在wp admin登录上还可以选择。这不会隐藏它,但它将提供另一层(尽管令人讨厌)安全性


我不知道有什么好的.htaccess方法可以在动态IP或希望从不同网络访问站点的情况下限制访问IP。

我认为可以通过为
管理员url添加筛选器来解决上述缺点(如果只需检查
$path
参数,甚至可能是
site\u url

这几乎未经测试,但可能是一个很好的起点:

function my_admin_url($url = null, $path = null, $blog_id = null) {

    // This our `wp-admin` replacement
    // probably wiser to use a filter/function for this, so that you can
    // do it dynamically by checking for the actual directory or something
    $custom_admin_dir = 'my-admin';

    // Remove filename.php
    if (!empty($path))
        $url = dirname($url);

    // Remove wp-admin
    $url = dirname($url);

    // Build up a new URL
    $url = trailingslashit(trailingslashit($url) . $custom_admin_dir) . $path;

    return $url;
}

add_filter('admin_url', 'my_admin_url', 10, 3);

另外,如果你在一个网络站点上,你可能想考虑
$blog\u id
参数和/或对
网络管理url
过滤器做同样的事情。

上有一篇文章。它也有它的缺点,因为每次你更新wordpress时它都会被覆盖,但它完成了工作。

只是做了一个快速的测试虽然此方法确实改变了由
admin\u url()生成的许多链接
它不会更改所需的所有URL。前端似乎正常工作,但在加载后端时,PHP无法找到要包含的某些文件。也许您可以使用其他筛选器解决此问题,在任何情况下,即使只是重命名
wp admin
目录,也可能会出现此问题。