我希望限制所有用户访问WordPress网站登录。
例如:假设我有WordPress网站域example1.com
,我想限制所有用户使用example1.com/wp-admin
和example1.com/wp-login.php
访问管理员登录。
当任何用户点击这些网址时,它会重定向到 restrict_user 页面,而且我想要使用example1.com/user_login
访问wordpress登录页面,而不是点击example1.com/wp-admin
和example1.com/wp-login.php
网址。
请建议我如何使我的WordPress网站更加安全?
答案 0 :(得分:1)
您可以使用htaccess deny all锁定wp-admin页面并设置允许的ip。
order deny,allow
deny from all
allow from 127.0.0.1
您还可以设置允许登录的htpasswd文件,并使用密码保护页面。我还要确保您在wp-admin中的用户名不是一件容易的事情' admin'或者'编辑'。
<IfModule mod_auth.c>
AuthUserFile /home/path/.htpasswd
AuthName "Username and password required"
AuthType Basic
<Limit GET POST>
Require valid-user
</Limit>
</IfModule>
此外,我强烈推荐使用wordfence作为防止黑客攻击的好插件等。
答案 1 :(得分:1)
wp-admin
目录将此代码段添加到.htaccess
目录中创建的wp-admin
文件中:
<RequireAny>
Require ip 64.176.174.0/255.255.255.0
Require ip 64.176.176.0/255.255.255.0
</RequireAny>
并根据需要添加尽可能多的 IP地址/子网掩码对,以了解您希望访问管理区域的客户端IP地址。我在上面添加了两个样本。
将此代码段添加到.htaccess
目录中创建的wp-admin
文件中:
<Directory>
Order Deny,Allow
Deny from all
Allow from 64.176.174.0/255.255.255.0
</Directory>
wp-login.php
路径将此代码段添加到当前主题的functions.php
文件中:
function my_checkRole(){
if( !( current_user_can( 'administrator' ) ) && !( defined('DOING_AJAX') && DOING_AJAX ) ){
wp_redirect( site_url( 'restrict_user' ) );
exit;
}
}
add_action( 'admin_init', 'my_checkRole' );
wp-admin
路径可以改变它,但为什么你认为它有任何价值?你无法隐藏Bot中的任何东西 - 这是不可能的。
黑客使用自动化的Bot程序来查找他们想要找到的任何内容。
一个好的方法是行动方法:
黑客
X
执行错误操作Y
,结果为Z = Forbidden
。
所以只需在限制访问wp-login.php路径部分中使用所提供的方法,这样就可以了。
答案 2 :(得分:0)
来自 nginx ,在 Ubuntu 16.04LTS 上使用 php7.0-fpm 。
我在网上发现了一堆试图将wp-login.php
和wp-admin
合并到同一规则中的配置,但允许wp-login.php
可以原始下载!
当然,它是一个通用的Wordpress文件,但这是危险的行为。
我已将规则分开,因为wp-admin
是一个文件夹,其中访问的任何内容都将遵循images / php / etc的通用规则。对于wp-login.php
我想特别复制php执行。我已允许对10.x.x.x
进行完全内部网络访问。
location ~ wp-login\.php {
allow 10.0.0.0/8
deny all;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location /wp-admin/ {
allow 10.0.0.0/8
deny all;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}