1. 程式人生 > >apache環境下禁止某資料夾內執行PHP指令碼、禁止訪問檔案或目錄執行許可權的設定方法

apache環境下禁止某資料夾內執行PHP指令碼、禁止訪問檔案或目錄執行許可權的設定方法

首先我們來看兩段對上傳目錄設定無許可權的列子,配置如下:

<Directory"要去掉PHP執行許可權的目錄路徑,如/upload">
ErrorDocument 404 /404/404.html
ErrorDocument 403 /404/403.html
<FilesMatch"\.(?i:php|php3|php4)$"> // ?是儘可能多的匹配.php的字串,i是不區分大小寫,然後冒號後面跟上正則表示式,也可以寫成:<FilesMatch"\.(php|php3)$">
Order allow,deny
Deny from all
</FilesMatch>
</Directory>

上面的意思就是說,<Directory “要去掉PHP執行許可權的目錄路徑,例如:/upload”> 內目錄路徑下所有php檔案不區分大小寫,通過order,allow,deny原則判斷拒絕執行php檔案,對nginx同樣也是可應用。

另外一種方法,是設定在.htaccess裡面的,這個方法比較靈活一點,針對那些沒有apapche安全操作許可權的網站管理員,推薦使用!
Apache環境規則內容如下:Apache限制uploads目錄執行php指令碼,把規則新增到.htaccess檔案中,程式碼如下:

RewriteEngine on RewriteCond
%!^$ RewriteRule uploads/(.*).(php)$ [F]

此方法僅限於apache伺服器環境,windows環境無效。

apache禁止訪問某些檔案/目錄
增加Files選項來控制,比如要不允許訪問 .inc 副檔名的檔案,保護php類庫:

<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>

禁止訪問某些指定的目錄:(可以用 <DirectoryMatch> 來進行正則匹配)

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
Order allow,deny
Deny from all
</Directory>

通過檔案匹配來進行禁止,比如禁止所有針對圖片的訪問:

<FilesMatch \.(?i:gif|jpe?g|png)$>
Order allow,deny
Deny from all
</FilesMatch>

針對URL相對路徑的禁止訪問:

<Location/dir/>
Order allow,deny
Deny from all
</Location>

相關推薦

apache環境禁止資料執行PHP指令碼禁止訪問檔案目錄執行許可權設定方法

首先我們來看兩段對上傳目錄設定無許可權的列子,配置如下: <Directory"要去掉PHP執行許可權的目錄路徑,如/upload"> ErrorDocument 404 /404/404.html ErrorDocument 403 /404/403.htm

解決Linux執行Python指令碼顯示“: 沒有那個檔案目錄”的問題

我猜不少人都遇到過類似的問題: 在Windows下寫好了一個python指令碼,執行沒問題 但放到Linux系統下就必須在命令列前加上一個python直譯器才能執行 指令碼開頭的註釋行已經指明瞭直譯器的路徑,也用chmod給了執行許可權,但就是不能直接執行指令碼。 比如這個指令碼: #!/usr/bin/

Linux執行Python指令碼顯示“: 沒有那個檔案目錄”問題

        後來一想,應該是編碼問題。Windows下,文字的換行是\r\n一同實現的,而Lnix/UNIX下則只用\n。對於: #!/usr/bin/env python\r\n 這樣一行文字,windows下的程式會認為#!/usr/bin/env python就是一行。而linux會認為#! /us

Linux查詢資料檔案的內容

今天有個需求:需要查詢在某個工程下面的所有js檔案和vm檔案中是否包含某個特定的關鍵字$a。 自己最直觀的想法,使用find實現。 find . -name "*.js" -or -name "*.vm" | xargs grep "\b$a\b"

使用tar和gzip對資料型別檔案進行壓縮與解壓縮

有時候,需要對某個資料夾內的某個型別的檔案進行壓縮。由於使用tar壓縮時會把絕對路徑也壓縮排去,這時解壓縮則會多出這些資料夾結構,很麻煩,那麼使用如下命令: tar -C /dir1/dir2 -czvf /dir3/dir4/my.tar.gz *.ext1 解釋如下

Android Studio在drawable資料建立xml的shapeselector等檔案

平時我們建立xml的shape型別檔案:選擇drawable——右擊選擇New——Drawable resource file; 隨後彈出了New Resource File頁面,但是卻沒有我們想要

Linux修復“執行aclocal失敗:沒有該檔案目錄

推薦安裝的工具 在終端中輸入以下命令來編譯並安裝watchman: git clone https://github.com/facebook/watchman.git cd watchman git checkout v4.5.0 # 這是本文釋出時

Python將資料及其子資料某種格式的檔案移動到另一個指定的檔案

import shutil,os new_path='/root/python_test/data/gp_fz' for derName, subfolders, filenames in os.walk('/root/python_test/data/gp'): print(derName

Linux 檢視資料檔案數量

轉至:www.xitongzhijia.net/xtjc/20150504/47340.html LInux  find指令的使用:   find命令檢視(推薦):   所有子目錄的數量:   [[email protected] ~]# find pma -type d

File-用遞迴刪除資料資料可能有檔案資料

利用遞迴演算法刪除某資料夾(包括其所有的子檔案及資料夾) import java.io.File; public class Dem01 { public static void main(String[] args) { File file = new F

Linux隨筆 - Linux統計資料檔案資料的個數

統計某資料夾下檔案的個數  ls -l |grep "^-"|wc -l   統計某資料夾下目錄的個數   ls -l |grep "^d"|wc -l   統計資料夾下檔案的個數,包括子資料夾裡的   ls -lR|grep "^-"|wc -l   統計/i

Linuxwindow伺服器建立共享資料(方便與區域網進行檔案共享)

SEO關鍵字:samba伺服器的搭建 ServU的安裝使用 玉念聿輝 Linux共享檔案 window共享檔案 深圳市奧捷迅科技 吳明輝 感謝CSDN品臺。 Linux下samba的安裝和建立共享檔案 1、關閉selinux setenforce 0 2、關閉ipta

java 遞迴呼叫自動讀取資料所有檔案(遞迴呼叫)

import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; public cl

linux中編寫指令碼實現將資料下半小時之內的圖片複製到另一個資料(簡單)實現

1.首先在根目錄下我建立一個叫sh的資料夾 命令:    mkdir sh  2.進入sh資料夾中  命令:    cd sh 3.我們首先建立一個名叫test.sh的指令碼  命令: touch test.sh   並且對這個指令碼進行許可權賦予   命令:     

關於讀取資料所有檔案的Python與R程式碼

import os #os模組匯入 path = "E:\ywl_sysu_term\校對彙總" #資料夾目錄 files = os.listdir(path) #得到資料夾下的所有檔案及資料夾名稱(這裡注意檔案和資料夾都有!) s = [] for file in file

Apache環境Web站點禁止用伺服器ip訪問

網上找了很多都沒有描述清楚,後來自己慢慢摸索才弄出來了 修改http.conf檔案: 在httpd.conf檔案最後面,加入以下程式碼 NameVirtualHost xx.xx.xx.xx <

linux建立定時任務 執行刪除資料所有

1.    鍵入 crontab  -e 編輯crontab服務檔案   檔案內容新增:0 0 * * * /bin/sh /usr/local/tomcat/apache-tomcat-6.0.4

python迭代列出資料所有檔案

# -*- coding: UTF-8 -*-  # 輸出一個資料夾下所有檔案 import os import re def filterFileName(filename):if re.search('.doc\w{0,1}',filename,re.I)!=None:

獲取資料一類檔案的數量和名稱

&1 獲取某類檔案數量 dir /B /A-D .\*.jpg | find /V /C " ">COUNTNUM.txt 解釋 dir /B /A-D .\*.jpg   查詢當前資料夾(.\)下的jpg格式檔案(.jpg),結果會輸出當前資料夾下的jpg檔案