如何突破伺服器限制上傳文件
1. 怎麼修改伺服器的上傳許可權
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 文件目錄或者樣式表目錄等,這些目錄只需要設置「讀取」許可權即可,執行許可權設成「無」即可。其它許可權一概不需要設置。
2. 如何突破上傳速度的限制
如果使用的是ADSL寬頻上行數率都是512k,那麼最大上傳就是50K左右,要能達到更高的上行只有光纖才行。ADSL線路由是那麼多的。而且另外一點也就是1樓所說的你的上傳數度高了對方的下載數率也得提上來才行
3. 解決wordpress上傳文件2M限制
解決環境:
CentOS linux release 8.3.2011
PHP 7.2.24 (cli)
註:使用nginx需要設置 client_max_body_size 10M,否則可能報:圖片後期處理失敗,可能是伺服器忙或沒有足夠的資源。請嘗試上傳較小的文件。推薦的最大尺寸為2500像素;
當我們部署好自己的wordpress站點後,在媒體庫上傳文件以及使用一些插件來對站點進行備份恢復時,總會遇到上傳2M的限制,其實這是由於php.ini配置文件里默認設置文件上傳2M造成的,下面我們去修改下配置文件的一些參數就可以了。
找到/etc/php.ini配置文件,vim /etc/php.ini,然後再裡面尋找參數memory_limit、post_max_size、upload_max_filesize、max_execution_time、max_input_time。
一般這些參數的默認配置是:
memory_limit=128M//相當於單個腳本可調用內存大小
post_max_size=8M//上傳文件大小上限(此參數應>=upload_max_filesize)
upload_max_filesize=2M //默認上傳文件大小,這個就是2M的限制
max_execution_time=30//最大執行時間,頁面等待時間
max_input_time=60//接收數據最大時間限制
假如我們想讓站點可以上傳一個512M及以下的文件,修改配置例如:
memory_limit=128M
post_max_size=512M
upload_max_filesize=512M
max_execution_time=30
max_input_time=60
如此配置後,在進入wordpress上傳圖片文件就可以實現最大512M了。
轉自:https://www.wanhebin.com/linux/144.html
4. windows server2012伺服器文件上傳受限制怎麼辦
什麼限制,限制文件類型的話,應該是伺服器上的軟體在做限制,如果是文件大小受限制的話,可以採用下面的方法:WindowsServer2008伺服器比WindowsServer2003伺服器要好點,WindowsServer2003伺服器限制200K,而WindowsServer2008伺服器限制30M,雖然好點,但還是挺麻煩的。我的MOSS就是安裝在WindowsServer2008伺服器平台上的,雖然我修改了上傳大小,但還是發現了一個問題,就是當你上傳過大的時候(我經常上傳很多文件),就是上傳不上去。
其實修改方法和修改WindowsServer2003伺服器的方法差不多。
修改文件在
C:\Windows\System32\inetsrv\config\schema\目錄下的IIS_schema.xml文件
用notepad打開修改相關參數即可(修改的時候注意許可權)
要修改的值是
——這個值是我已經修改過的,我加了幾個零:)
5. 如何突破php上傳文件大小限制
1. 一般的php文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
Java代碼
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
以上修改的是php上傳文件中腳本執行超時時間
2. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到php上傳文件。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
3. 修改了第二步,但php上傳文件時最大仍然為 8M。
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
Java代碼
post_max_size=150M
Java代碼
upload_max_filesize=100M
6. 如何突破360雲盤的48k上傳速度限制
如果需要突破360雲盤的上傳速度限制,可以使用以下方法:
使用360雲盤客戶端軟體進行數據上傳。
辦理360雲盤會員許可權之後再上傳數據。
由於360雲盤曾經嘗試過開發極速上傳控制項,因此用戶如果能夠找找到該控制項的安裝程序,也可以使用該程序進行上傳。
注意:由於該限速是目標伺服器限制的,因此無法通過其他途徑進行改變。
7. 如何取消php最大上傳文件限制
一、修改php.ini文件。
1、查找post_max_size,指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值,默認為8M,看你自己需要進行改變。
2、查找File Uploads,首先確認file_uploads = on ;是否允許通過HTTP上傳文件的開關,默認為ON即是開。 upload_tmp_dir ;
查找upload_max_filesize ;即允許上傳文件大小的最大值。默認為2M。
3、如果要上傳>8M的文件,那麼只設置上述四項還不定一定可以。最好對下面的參數也進行設置:
查找max_execution_time = 600 ;每個PHP頁面運行的最大時間值(秒),默認30秒。
max_input_time = 600 ;每個PHP頁面接收數據所需的最大時間,默認60秒 。
memory_limit = 8M ;每個PHP頁面所吃掉的最大內存,默認8M。