NGINX 限制 wordpress 上的管理区域但允许 wp-admin/admin-ajax.php?
NGINX restrict admin area on wordpress but allow wp-admin/admin-ajax.php?
我有几个网站使用以下代码来限制管理区域。到目前为止还没有找到比这更好的解决方案。
##> 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
?
或者是否有更好的做法可以遵循。我不时注意到某些插件需要访问管理区域才能正常运行。
我可能找到了解决办法:
##> 评论 - 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;
}
}
我只是希望有人验证上面的代码并检查它是否安全?我仍然愿意提供赏金来验证其安全级别。
我认为像下面这样的东西应该适合你
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;
}
玩了几个小时后,我找到了一个可行的解决方案,但我不太确定它是否安全?
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;
}
}
但这是一个可行的解决方案
我有几个网站使用以下代码来限制管理区域。到目前为止还没有找到比这更好的解决方案。
##> 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
?
或者是否有更好的做法可以遵循。我不时注意到某些插件需要访问管理区域才能正常运行。
我可能找到了解决办法:
##> 评论 - 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;
}
}
我只是希望有人验证上面的代码并检查它是否安全?我仍然愿意提供赏金来验证其安全级别。
我认为像下面这样的东西应该适合你
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;
}
玩了几个小时后,我找到了一个可行的解决方案,但我不太确定它是否安全?
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;
}
}
但这是一个可行的解决方案