出于安全考虑,我试图隐藏我的Web应用程序的几乎所有指纹信息。最重要的是向任何访问者隐藏PHP
。所以我尝试修改我的Nginx
配置文件。配置将显示如下。
location / {
root /data/site/public;
index index.html index.htm index.php;
try_files $uri /index.php;
location /index.php {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi.conf;
}
}
通过这种方式,我成功隐藏了index.php
的URL。但是,黑客也可以使用http://example.com/index.php
之类的某些网址直接访问我的网站,这表明我的网站是由PHP
编写的。有时它可能很危险。
所以,我第二次修改Nginx
的配置,直接访问404
时渴望index.php
,看起来像
location / {
root /data/site/public;
if ( $request_uri ~ /index\.php ) {
return 404;
}
index index.html index.htm index.php;
try_files $uri /index.php;
location /index.php {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi.conf;
}
}
然而......,似乎Nginx
与前一个没什么不同。
谁能告诉我原因?或任何其他解决方案......