Php Nginx身份验证容易被绕过-错误?

Php Nginx身份验证容易被绕过-错误?,php,authentication,nginx,Php,Authentication,Nginx,我有如下nginx基本身份验证设置: server { ... location / { ... auth_basic "Restricted"; auth_basic_user_file /etc/nginx/htpasswd; ... } } 如果你去参观一些没有被改写的东西,它就像一个符咒 如果我访问一个.php文件,它会像不需要身份验证一样加载它。之后,重新写入的页

我有如下nginx基本身份验证设置:

server {
    ...
    location / {    
           ...
           auth_basic "Restricted";
           auth_basic_user_file /etc/nginx/htpasswd;
           ...
    } 
}
如果你去参观一些没有被改写的东西,它就像一个符咒

如果我访问一个.php文件,它会像不需要身份验证一样加载它。之后,重新写入的页面上的身份验证也会变得随机

你知道怎么回事吗

概述: 访问www.mysite.com验证工作正常! 访问www.mysite.com/index.php时,身份验证被绕过,在不询问用户/pwd的情况下启动站点

编辑:
我还需要在~.php{…}位置添加相同的auth_基本内容吗?我认为将其添加到根目录中会处理所有后续结构,无论脚本语言如何。

Nginx基本身份验证适用于您放置它的位置

请注意,nginx只为每个请求选择一个位置。这意味着在
location/
块中放置一个命令,该命令将仅针对该位置执行(这意味着您的请求不会被任何其他位置块捕获)。如果希望基本身份验证适用于服务器中的每个位置,只需将其放在每个位置中,或者更好地放在像这样的服务器块中

server {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/htpasswd;
  ...
  location / {
       #auth_basic already active, no need to add it again
       ...
  } 
}