apache,nginx上传目录无执行权限的设置方法

 更新时间:2010年12月19日 20:00:07   作者:  
至于为什么设置上传目录无权限这个我就不累赘了,现在比较流行的web服务有iis,apache,nginx,使用操作系统无非是windows or *nux
我们来看俩段通常对上传目录设置无权限的列子,配置如下:
复制代码 代码如下:

<Directory "/var/www/upload">
<FilesMatch ".php">
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>


还有网上那个对nginx上传目录无执行权限
复制代码 代码如下:

location ~ ^/upload/.*\.(php|php5)$
{
deny all;
}


这些配置表面上看起来是没什么问题的,确实在windows下可以这么说。
但是*nux就不同了,大家都是知道的*nux操作系统是区分大小写的,这里如果换成大写后缀名*.phP一类就bypasss了


这里我说下我个人的解决方法:
复制代码 代码如下:

<Directory "/var/www/upload">
<FilesMatch "(?i:.php)"> //?是尽可能多的匹配.php的字符串,i是不区分大小写,然后冒号后面跟上正则表达式
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>


上面的意思就是说,/var/www/upload目录下所有php文件不区分大小写,通过order,allow,deny原则判断拒绝执行php文件,对nginx同样也是可应用的


注:st0p专门为此正则用法写了文章,对这个正则不理解的可以参考
https://www.jb51.net/article/25673.htm

另外一种方法,这个我们都用过
复制代码 代码如下:

<Directory "/var/www/upload">
php_admin_flag engine off
</Directory>


相比之下我还是看好的一种方法

相关文章

  • Ubuntu16.04上安装CUDA9.0 详细教程

    Ubuntu16.04上安装CUDA9.0 详细教程

    这篇文章主要介绍了Ubuntu16.04上安装CUDA9.0 详细教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 详解linux下查看系统版本号信息的方法(总结)

    详解linux下查看系统版本号信息的方法(总结)

    本篇文章主要介绍了详解CentOS下查看系统版本号信息的方法(总结),具有一定的参考价值,有兴趣的可以来了解一下
    2017-07-07
  • CentOS6.4安装Apache+MySQL+PHP图文教程

    CentOS6.4安装Apache+MySQL+PHP图文教程

    这篇文章主要介绍了CentOS6.4安装Apache+MySQL+PHP图文教程,需要的朋友可以参考下。
    2016-10-10
  • Apache No space left on device的解决办法

    Apache No space left on device的解决办法

    [Fri Aug 15 10:54:31 2008] [emerg] (28)No space left on device: Couldn't create accept lockdf一下发现不是磁盘空间的问题。Google了一下就找到了解决方案,原来是系统的信号量(?)不够用了。
    2008-08-08
  • 在Ubuntu中如何查看网络路由表详解

    在Ubuntu中如何查看网络路由表详解

    这篇文章主要给大家介绍了关于在Ubuntu中如何查看网络路由表的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ubuntu具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Linux如何关闭远程ssh密码登录

    Linux如何关闭远程ssh密码登录

    这篇文章主要介绍了Linux如何关闭远程ssh密码登录问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • linux crontab实例分析

    linux crontab实例分析

    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务
    2011-03-03
  • linux系统中rsync+inotify实现服务器之间文件实时同步

    linux系统中rsync+inotify实现服务器之间文件实时同步

    这篇文章主要介绍了rsync+inotify实现服务器之间文件实时同步,需要的朋友可以参考下
    2014-11-11
  • 详解Ubuntu14.04桥接网络设置与SSH登陆

    详解Ubuntu14.04桥接网络设置与SSH登陆

    本篇文章主要介绍了详解Ubuntu14.04桥接网络设置与SSH登陆,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux nl命令的使用方法

    Linux nl命令的使用方法

    这篇文章主要介绍了Linux nl命令的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论