iis文件上傳限制
在IIS
6.0中設置文件上傳大小的方法,就是配置如下節點:
復制代碼
代碼如下:
但在
IIS7
中,設置如上設置後,不管設置多大數值,最大上傳了限制為30M
還要進行如下設置才能正確:
方法1:
appcmd
set
config
"My
Site/MyApp"
-section:requestFiltering
-requestLimits.maxAllowedContentLength:104857600
-commitpath:apphost
在IIS伺服器的命令行執行如上命令,注意修改上面的
網站名稱
和上傳文件大小
方法2:
在web.config中加入如下配置:
復制代碼
代碼如下:
B. IIS上傳不了文件是咋回事呀。兄嘚
500錯誤范圍太廣,建議你先做簡單上傳測試(文件大小低於20kb),看是否出錯,如果這樣都出錯那說明是你代碼問題或者組件問題,你可以看看資源是否傳到指定位置,如果傳到了,說明上傳功能未出錯,其他代碼錯了.
PS:你在iis裡面設置限制文件上傳大小了沒有
win2003的iis6限制了asp的上傳文件大小為200k,aspx的上傳程序沒有影響
1、先勾選IIS設置中的選項:IIS伺服器屬性-->允許直接編輯配置資料庫
2、在服務里關閉iis admin service服務.
3、找到windows\system32\inesrv\下的metabase.xml
打開,找到ASPMaxRequestEntityAllowed 把他修改為需要的值 ,默認為204800,即200K
然後重啟iis admin service服務。
C. 怎麼修改asp文件上傳大小限制
你好方法如下:
asp上傳大小限制iis中默認為200K,下面是修改asp上傳大小限制詳細步驟
1、以記事本方式打開c:\windows\system32\inetsrv\metabase.xml 2、把其中AspMaxRequestEntityAllowed="20480000"
即添加兩個0(把ASP上傳文件大小限制從200K改為20M)。編輯好保存完最好重啟下iis服務! 3、重啟iis方法:開始--運行--輸入cmd回車--輸入iisreset豈可重啟iis 或者你也可以進開始--管理工具--服務--最下面有個World Wide Web Publishing Service的服務重啟即可 注意:如果metabase.xml修改後想保存但是提示無法編輯,不能保存!這是由於你沒有在iis中啟用「允許直接編輯配置資料庫」的功能。
希望能幫到你。
D. asp在IIS里為什麼只能上傳小於200K的文件
這個是伺服器有個文件限制了。在程序里是提高不過200K以上的。
以下是怎麼提高上傳的大小限制。
2003解決IIS限制上傳、下載文件大小及metabase.xml修改
1.停止IIS Admin Service服務。 2.按照如下的路徑找到文件:系統盤(C:)Windows System32 inetsrv MetaBase.xml, 在該文件中搜索AspMaxRequestEntityAllowed,設置為你想要的數字(默認204800即200K)。 3.重新啟動IIS Admin Service服務。
默認情況下,在IIS 6 全局配置中允許上傳的文件長度最大為4 GB,但是在Web站點級卻限制了ASP應用程序上傳的最大文件長度為200 KB。如果你需要上傳超過200KB的文件,則需要手動修改IIS的metabase.xml中對應Web站點的AspMaxRequestEntityAllowed屬性。
metabase.xml位於"systemroot"\system32\inetsrv"目錄下,用於保存IIS的基本配置信息。默認情況下IIS是不允許你直接對metabase.xml進行編輯的,你可以通過以下兩種方式來實現:
1 停止IISAdmin服務後再編輯;
停止IIS服務與啟動IIS服務的方法,在CMD命令行模式下輸入以下命令:
1. net stop w3svc (停止IIS服務)
2. iisreset /stop
2 在IIS管理控制台中右擊伺服器名,選擇屬性,然後在彈出的伺服器屬性對話框中勾選允許直接編輯配置資料庫,再點擊確定即可
然後在任何文本編輯器中打開Metabase.xml文件,修改對應Web站點的AspMaxRequestEntityAllowed屬性即可,它的單位是位元組,默認是204800,改為你需要的值即可。比如改為最大上傳20M,則修改此值為:20480000.如果實在不知道20M換成位元組是多大,就用這個公式計算一下再修改吧:1024000*20(102400是100K,1024000是1M,以此類推,20M就是1024000*20=20480000)
3 編輯完記得重啟IIS服務
1. net start w3svc (啟動IIS服務)
2. iisreset /start
再加上下載不能超過4M的解決辦法:
在 IIS 6.0 中,無法下載超過4M的附件時,可以按以下步驟解決:
1、先在服務里關閉 iis admin service 服務。
2、找到 windows\system32\inesrv\ 下的 metabase.xml 文件。
3、用純文本方式打開,找到 AspBufferingLimit 把它修改為需要的值(可修改為20M即:20480000)。
4、存檔,然後重啟 iis admin service 服務。
MetaBase.xml是要求很嚴格的文件,,修改參數或格式一出錯就會無法使用,,修改前最好備份,,如果忘了備份,修改又出錯,, 還有補救方法:metabase.xml所在的目錄下還有個history目錄,裡面存放的是metabase.xml文件在各個時間的備份。至此,解決辦法也有了,就是從history目錄下拷貝一份到inetsrv目錄即可(但這樣只能修回備份時間前的資料)。如果目錄或文件沒有就要到別的機拷一份過來,但是這樣原先的配置就沒了。
E. 如何突破XP的IIS上傳文件大小限制
本文以win2012下的IIS8.0為例。
滑鼠移至桌面最最左下角,彈出開始菜單,點擊左鍵。
點擊iis管理器,並選中您的網站。
點擊「管理」下的「配置編輯器」。
設置上傳超時時間限制。
點擊下拉菜單節(S),選中system.web>httpRuntime
將executionTimeout的值設為00:30:00(即30分鍾)
設置上傳文件大小限制。
點擊下拉菜單節(S),選中system.webServer>security>requestFiltering
展開requestlimits,將maxAllowedContentLength的值設為102400000(即100m)
註:這樣修改直接就能生效,無需重啟iis或者伺服器。
也可以直接在網站根目錄建一個web.config文件,用此方法可以直接省略前5步,web.config內容具體如下
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="102400000" />
</requestFiltering>
</security>
</system.webServer>
<system.web>
<httpRuntime executionTimeout="1800" />
</system.web>
</configuration>
F. iis7如何解除上傳文件限制
默認情況下,IIS7的上傳限制為200K。當上傳文件小於30M時,可以通過如下方法設置:
在iis7中找到asp設置,在「asp」的「限制屬性」中最後一行「最大請求主體限制」,修改該值為你所想要的,如2G(2000000000,單位為B)。當上傳文件要求大於30M時,繼續如下修改:
1、停止IIS7
2、找到「C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml」文件。
這個文件是只讀的,即使用管理員許可權也不能修改。要先修改文件的許可權,然後去掉只讀屬性才可以。
1.右鍵文件->屬性->安全,選中目標用戶,點擊高級,修改文件所有者;
2.確定後點擊編輯,就可以修改當前用戶的許可權了,添加「寫入」許可權。至此,許可權設置OK了。
3.將文件的只讀屬性去掉。
用記事本打開該文件,找到「」,將「30000000」修改為你想要的值(如2000000000)保存。
將「C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml」文件加上只讀屬性。
啟動IIS7。本人上傳120M視頻文件通過。
但是,win2008最大隻能上傳小於2G的文件。這個要注意。
G. 如何修改設置解除windows 7/2008/2012的iis上傳限制
H. win7 iis 上傳文件大小的限制到底是多少
方法/步驟
本文以win2012下的IIS8.0為例。
滑鼠移至桌面最最左下角,彈出開始菜單,點擊左鍵。
點擊iis管理器,並選中您的網站。
點擊「管理」下的「配置編輯器」。
設置上傳超時時間限制。
點擊下拉菜單節(S),選中system.web>httpRuntime
將executionTimeout的值設為00:30:00(即30分鍾)
設置上傳文件大小限制。
點擊下拉菜單節(S),選中system.webServer>security>requestFiltering
展開requestlimits,將maxAllowedContentLength的值設為102400000(即100m)
註:這樣修改直接就能生效,無需重啟iis或者伺服器。
也可以直接在網站根目錄建一個web.config文件,用此方法可以直接省略前5步,web.config內容具體如下
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="102400000" />
</requestFiltering>
</security>
</system.webServer>
<system.web>
<httpRuntime executionTimeout="1800" />
</system.web>
</configuration>
I. IIS上傳許可權設置
轉來的,自己看吧 IIS Web 伺服器的許可權設置有兩個地方,一個是 NTFS 文件系統本身的許可權設置,另一個是 IIS 下網站->站點->屬性->主目錄(或站點下目錄->屬性->目錄)面板上。這兩個地方是密切相關的。下面我會以實例的方式來講解如何設置許可權。
IIS 下網站->站點->屬性->主目錄(或站點下目錄->屬性->目錄)面板上有:
腳本資源訪問
讀取
寫入
瀏覽
記錄訪問
索引資源
6 個選項。這 6 個選項中,「記錄訪問」和「索引資源」跟安全性關系不大,一般都設置。但是如果前面四個許可權都沒有設置的話,這兩個許可權也沒有必要設置。在設置許可權時,記住這個規則即可,後面的例子中不再特別說明這兩個許可權的設置。
另外在這 6 個選項下面的執行許可權下拉列表中還有:
無
純腳本
純腳本和可執行程序
3 個選項。
而網站目錄如果在 NTFS 分區(推薦用這種)的話,還需要對 NTFS 分區上的這個目錄設置相應許可權,許多地方都介紹設置 everyone 的許可權,實際上這是不好的,其實只要設置好 Internet 來賓帳號(IUSR_xxxxxxx)或 IIS_WPG 組的帳號許可權就可以了。如果是設置 ASP、php 程序的目錄許可權,那麼設置 Internet 來賓帳號的許可權,而對於 ASP.NET 程序,則需要設置 IIS_WPG 組的帳號許可權。在後面提到 NTFS 許可權設置時會明確指出,沒有明確指出的都是指設置 IIS 屬性面板上的許可權。
例1 —— ASP、PHP、ASP.NET 程序所在目錄的許可權設置:
如果這些程序是要執行的,那麼需要設置「讀取」許可權,並且設置執行許可權為「純腳本」。不要設置「寫入」和「腳本資源訪問」,更不要設置執行許可權為「純腳本和可執行程序」。NTFS 許可權中不要給 IIS_WPG 用戶組和 Internet 來賓帳號設置寫和修改許可權。如果有一些特殊的配置文件(而且配置文件本身也是 ASP、PHP 程序),則需要給這些特定的文件配置 NTFS 許可權中的 Internet 來賓帳號(ASP.NET 程序是 IIS_WPG 組)的寫許可權,而不要配置 IIS 屬性面板中的「寫入」許可權。
IIS 面板中的「寫入」許可權實際上是對 HTTP PUT 指令的處理,對於普通網站,一般情況下這個許可權是不打開的。
IIS 面板中的「腳本資源訪問」不是指可以執行腳本的許可權,而是指可以訪問源代碼的許可權,如果同時又打開「寫入」許可權的話,那麼就非常危險了。
執行許可權中「純腳本和可執行程序」許可權可以執行任意程序,包括 exe 可執行程序,如果目錄同時有「寫入」許可權的話,那麼就很容易被人上傳並執行木馬程序了。
對於 ASP.NET 程序的目錄,許多人喜歡在文件系統中設置成 Web 共享,實際上這是沒有必要的。只需要在 IIS 中保證該目錄為一個應用程序即可。如果所在目錄在 IIS 中不是一個應用程序目錄,只需要在其屬性->目錄面板中應用程序設置部分點創建就可以了。Web 共享會給其更多許可權,可能會造成不安全因素。
劍心總結:也就是說一般不要打開-主目錄-(寫入),(腳本資源訪問) 這兩項以及不要選上(純腳本和可執行程序),選(純腳本)就可以了.需要asp.net的應用程序的如果應用程序目錄不止應用程序一個程序的可以在應用程序文件夾上(屬性)-目錄-點創建就可以了.不要在文件夾上選web共享.
例2 —— 上傳目錄的許可權設置:
用戶的網站上可能會設置一個或幾個目錄允許上傳文件,上傳的方式一般是通過 ASP、PHP、ASP.NET 等程序來完成。這時需要注意,一定要將上傳目錄的執行許可權設為「無」,這樣即使上傳了 ASP、PHP 等腳本程序或者 exe 程序,也不會在用戶瀏覽器里就觸發執行。
同樣,如果不需要用戶用 PUT 指令上傳,那麼不要打開該上傳目錄的「寫入」許可權。而應該設置 NTFS 許可權中的 Internet 來賓帳號(ASP.NET 程序的上傳目錄是 IIS_WPG 組)的寫許可權。
如果下載時,是通過程序讀取文件內容然後再轉發給用戶的話,那麼連「讀取」許可權也不要設置。這樣可以保證用戶上傳的文件只能被程序中已授權的用戶所下載。而不是知道文件存放目錄的用戶所下載。「瀏覽」許可權也不要打開,除非你就是希望用戶可以瀏覽你的上傳目錄,並可以選擇自己想要下載的東西。
劍心總結:一般的一些asp.php等程序都有一個上傳目錄.比如論壇.他們繼承了上面的屬性可以運行腳本的.我們應該將這些目錄從新設置一下屬性.將(純腳本)改成(無).
例3 —— Access 資料庫所在目錄的許可權設置:
許多 IIS 用戶常常採用將 Access 資料庫改名(改為 asp 或者 aspx 後綴等)或者放在發布目錄之外的方法來避免瀏覽者下載它們的 Access 資料庫。而實際上,這是不必要的。其實只需要將 Access 所在目錄(或者該文件)的「讀取」、「寫入」許可權都去掉就可以防止被人下載或篡改了。你不必擔心這樣你的程序會無法讀取和寫入你的 Access 資料庫。你的程序需要的是 NTFS 上 Internet 來賓帳號或 IIS_WPG 組帳號的許可權,你只要將這些用戶的許可權設置為可讀可寫就完全可以保證你的程序能夠正確運行了。
劍心總結:Internet 來賓帳號或 IIS_WPG 組帳號的許可權可讀可寫.那麼Access所在目錄(或者該文件)的「讀取」、「寫入」許可權都去掉就可以防止被人下載或篡改了
例4 —— 其它目錄的許可權設置:
你的網站下可能還有純圖片目錄、純 html 模版目錄、純客戶端 js 文件目錄或者樣式表目錄等,這些目錄只需要設置「讀取」許可權即可,執行許可權設成「無」即可。其它許可權一概不需要設置。
好了,我想上面的幾個例子已經包含了大部分情況下的許可權設置,其它情況根據這些例子,我想你一定可以想到該如何設置了吧。
J. 在IIS6.0中,默認設置最大隻能傳送 204,800 個位元組
在win2003的IIS 6.0中,默認設置特別嚴格和安全,最大隻能傳送 204,800 個位元組,這樣可以最大限度地減少因太寬松的超時和限制而造成的攻擊。IIS 6 出於安全考慮,默認最大請求是200K(也即最大提交數據限額為200KByte,204800Byte,在 IIS 6.0 之前的版本中無此限制) 。
解決辦法一:
第一步:修改IIS設置,允許直接編輯配置資料庫。打開 Internet信息服務管理器,在「本地計算機」上點右鍵選屬性,在Internet信息服務選項中選中「允許直接編輯配置資料庫」。第二步:在服務里關閉 iis admin service服務,找到windows\system32\inesrv\下的metabase.xml 打開,找到ASPMaxRequestEntityAllowed 修改為需要的值,默認為204800,即200K,如把它修改為52428800(50M)。第三步:重啟iis admin service服務。解決辦法二:新建一個文本文件,內容如下:'----------------------------------------------------set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")WScript.Echo "Before: " & vdirObj..AspMaxRequestEntityAllowed=51200000vdirObj.Put_()WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed'----------------------------------------------------然後保存為.vbs文件,如:vf.vbs
然後在命令行模式下,執行 cscript 文件路徑及文件名,如:cscript d:\vf.vbs這樣ASP上傳大小就更改為了上面設置的:51200000位元組 (50兆)。