我有nginx。其中有一个站点,站点的根目录是/ root /SITE,在这个站点目录中,我有一些.php文件,而且目录很少。如何才能拒绝对/root/SITE目录中的.php文件的访问(我的意思是,在/root/SITE .php文件中的少数目录中,不应该阻止)
发布于 2015-06-29 22:51:38
因此,您要求对于Nginx配置中的这个服务器块,应该只允许PHP文件,其他一切都会得到404吗?有很多方法可以做到这一点(最好是在一个更适合Nginx的地方问)--这里有一种方法:
server {
listen 80;
server_name example.com;
root /var/www/html;
location ~ \.php$ {
include fastcgi.conf;
}
location / {
return 404;
}
}请注意,使用此方法时,位置块的顺序非常重要,因为第一个正则表达式位置占上风。此外,如果出于某种原因需要支持~*文件,则可以使用不区分大小写的位置regex操作符.PHP。
请记住,这意味着图像文件和CSS文件以及其他任何内容都将被拒绝。只有在将图像和样式表通过(或在PHP中创建)时才能提供它们。这也不允许您通过浏览到没有尾随文件名的站点的根目录来访问index.php。
我建议你可以用另一种更好的方式来满足你的需要。你应该更充分地解释你想做什么。您想为您的应用程序创建什么样的安全性?
https://stackoverflow.com/questions/31125809
复制相似问题