1

我有一些网站使用以下代码来限制管理区域。到目前为止还没有找到比这更好的解决方案。

##> COMMENT - WordPress Admin Area Passwords 
location ^~ /wp-admin/ { 
auth_basic "Restricted Access"; 
auth_basic_user_file /home/bea/panel/security/.htpasswd; 

location ~ \.php$ { 
include snippets/fastcgi-php.conf; 
fastcgi_pass unix:/var/run/php/php7.3-fpm-website123.com.sock; 
} 
} 

我们正在使用一个插件,该插件允许用户查看和建设中的页面,但提供登录以允许网站所有者在构建网站时查看他们的网站。看看下面的图片。

正如您在下面看到的,系统会提示用户填写密码以访问该网站,但也会提示他们填写用户名和密码以访问管理区域。仅当用户输入密码以访问该网站并单击“访问该网站”时,才会出现此弹出窗口。

例子

联系插件创建者后,他们建议排除wp-admin/admin-ajax.php?

或者有没有更好的做法可以遵循。我不时注意到某些插件需要访问管理区域才能正常运行。

我可能找到了解决方案:

##> COMMENT - WordPress 管理区域密码,通常用于实时站点

location /wp-admin {
        location ~ /wp-admin/admin-ajax.php$
        {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm-WEBSITE.tv.com.sock;
        }

        location ^~ /wp-admin/ {
        auth_basic "Restricted Access";
        auth_basic_user_file /home/user/panel/security/._htpasswd;
        }
        location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm-WEBSITE.tv.sock;
        }
}

我只是希望有人验证上面的代码并检查它是否安全?我仍然愿意提供赏金来验证其安全级别。

在此处输入图像描述

4

2 回答 2

1

在玩了几个小时后,我找到了一个可行的解决方案,但我不太确定它是否安全?

location /wp-admin {
        location ~ /wp-admin/admin-ajax.php$
        {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm-WEBSITE.tv.com.sock;
        }

        location ^~ /wp-admin/ {
        auth_basic "Restricted Access";
        auth_basic_user_file /home/user/panel/security/._htpasswd;
        }
        location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm-WEBSITE.tv.sock;
        }
}

但这是一个可行的解决方案

于 2021-03-11T18:23:32.423 回答
0

我认为像下面这样的东西应该为你做这项工作

location ^~ /wp-admin/ {
   auth_basic "Restricted Access";
   auth_basic_user_file /home/bea/panel/security/.htpasswd;

   location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/var/run/php/php7.3-fpm-website123.com.sock;
   }
}

location = /wp-admin/admin-ajax.php {
   include snippets/fastcgi-php.conf;
   fastcgi_pass unix:/var/run/php/php7.3-fpm-website123.com.sock;
}
于 2021-03-10T18:21:13.600 回答