當前位置 主頁 > 服務器問題 > Linux/apache問題 > 最大化 縮小

    apache,nginx上傳目錄無執行權限的設置方法

    欄目:Linux/apache問題 時間:2018-11-30 13:47

    至于為什么設置上傳目錄無權限這個我就不累贅了,現在比較流行的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專門為此正則用法寫了文章,對這個正則不理解的可以參考
    //www.jshyjskj.com/article/25673.htm

    另外一種方法,這個我們都用過
    復制代碼 代碼如下:
    <Directory "/var/www/upload">
    php_admin_flag engine off
    </Directory>


    相比之下我還是看好的一種方法
在线观看中文字幕理论片