403狀態碼----詳解


在訪問網站的時候,會時不時的出現403 Forbidden錯誤,瀏覽器會給出403 Forbidden錯誤提示,在打開Access Error中列出的URL之后, 出現以下錯誤:

403 Forbidden
  Access to this resource on the server is denied!
  Powered By LiteSpeed Web Server
  LiteSpeed Technologies is not responsible for administration and contents of this web site!

403錯誤是網站訪問過程中,常見的錯誤提示。資源不可用,服務器理解客戶的請求,但拒絕處理它。通常由於服務器上文件或目錄的權限設置導致,比如IIS或者apache設置了訪問權限不當。一般會出現以下提示:

 

一、403 forbidden是什么意思?

403 Forbidden是HTTP協議中的一個狀態碼(Status Code)。可以簡單的理解為沒有權限訪問此站。該狀態表示服務器理解了本次請求但是拒絕執行該任務,該請求不該重發給服務器。在HTTP請求的方法不是“HEAD”,並且服務器想讓客戶端知道為什么沒有權限的情況下,服務器應該在返回的信息中描述拒絕的理由。在服務器不想提供任何反饋信息的情況下,服務器可以用404 Not Found代替403 Forbidden。

二、403錯誤代碼的分類介紹

403.1

403.1錯誤是由於"執行"訪問被禁止而造成的,若試圖從目錄中執行CGI、ISAPI或其他可執行程序,但該目錄不允許執行程序時便會出現此種錯誤。

403.2

403.2錯誤是由於"讀取"訪問被禁止而造成的。導致此錯誤是由於沒有可用的默認網頁並且沒有對目錄啟用目錄瀏覽,或者要顯示的HTML網頁所駐留的目錄僅標記為"可執行"或"腳本"權限。

403.3

403.3錯誤是由於"寫入"訪問被禁止而造成的,當試圖將文件上載到目錄或在目錄中修改文件,但該目錄不允許"寫"訪問時就會出現此種錯誤。

403.4

403.4錯誤是由於要求SSL而造成的,您必須在要查看的網頁的地址中使用"https"。

403.5

403.5錯誤是由於要求使用128位加密算法的Web瀏覽器而造成的,如果您的瀏覽器不支持128位加密算法就會出現這個錯誤,您可以連接微軟網站進行瀏覽器升級。

403.6

403.6錯誤是由於IP地址被拒絕而造成的。如果服務器中有不能訪問該站點的IP地址列表,並且您使用的IP地址在該列表中時您就會返回這條錯誤信息。

403.7

403.7錯誤是因為要求客戶證書,當需要訪問的資源要求瀏覽器擁有服務器能夠識別的安全套接字層(SSL) 客戶證書時會返回此種錯誤。

403.8

403.8錯誤是由於禁止站點訪問而造成的,若服務器中有不能訪問該站點的DNS名稱列表,而您使用的DNS名稱在列表中時就會返回此種信息。請注意區別403.6與403.8錯誤。

403.9

403.9錯誤是由於連接的用戶過多而造成的,由於Web服務器很忙,因通訊量過多而無法處理請求時便會返回這條錯誤。

403.10

403.10錯誤是由於無效配置而導致的錯誤,當您試圖從目錄中執行CGI、ISAPI或其他可執行程序,但該目錄不允許執行程序時便會返回這條錯誤。

403.11

403.11錯誤是由於密碼更改而導致無權查看頁面。

403.12

403.12錯誤是由於映射器拒絕訪問而造成的。若要查看的網頁要求使用有效的客戶證書,而您的客戶證書映射沒有權限訪問該Web站點時就會返回映射器拒絕訪問的錯誤。

403.13

403.13錯誤是由於需要查看的網頁要求使用有效的客戶證書而使用的客戶證書已經被吊銷,或者無法確定證書是否已吊銷造成的。

403.14

403.14錯誤Web 服務器被配置為不列出此目錄的內容,拒絕目錄列表。

403.15

403.15錯誤是由於客戶訪問許可過多而造成的,當服務器超出其客戶訪問許可限制時會返回此條錯誤。

403.16

403.16錯誤是由於客戶證書不可信或者無效而造成的。

403.17

403.17錯誤是由於客戶證書已經到期或者尚未生效而造成的。

三、導致403錯誤的主要原因

1、你的IP被列入黑名單。

2、你在一定時間內過多地訪問此網站(一般是用采集程序),被防火牆拒絕訪問了。

3、網站域名解析到了空間,但空間未綁定此域名。

4、你的網頁腳本文件在當前目錄下沒有執行權限。

5、在不允許寫/創建文件的目錄中執行了創建/寫文件操作。

6、以http方式訪問需要ssl連接的網址。

7、瀏覽器不支持SSL 128時訪問SSL 128的連接。

8、在身份驗證的過程中輸入了錯誤的密碼。

9、DNS解析錯誤,手動更改DNS服務器地址。

10、連接的用戶過多,可以過后再試。

11、服務器繁忙,同一IP地址發送請求過多,遭到服務器智能屏蔽。

四、解決403 forbidden錯誤的方法

1、重建dns緩存

對於一些常規的403 forbidden錯誤,馬海祥建議大家首先要嘗試的就是重建dns緩存,在運行中輸入cmd,然后輸入ipconfig /flushdns即可。如果不行的話,就需要在hosts文件里把主頁解析一下了。

同時,查看是否在網站虛擬目錄中添加默認文檔,一般默認文檔為:index.html;index.asp;index.php;index.jsp;default.htm;default.asp等,如下圖所示:

2、修改文件夾安全屬性

用以下命令修改文件夾安全屬性

chcon -R -t httpd_user_content_t public_html/

所用命令解析:

ls -Z -d public_html/
  #顯示文件/目錄的安全語境-Z, --context
  Display  security context so it fits on most displays.  Displays only mode, user, group, security context and file name.-d, --directory
  list directory entries instead of contents, and do not dereference symbolic links
  chcon -R -t httpd_user_content_t public_html/
  #修改文件/目錄的安全語境-R, --recursive
  change files and directories recursively-t, --type
  set type TYPE in the target security context

3、關於apache導致的403 forbidden錯誤的解決辦法

打開apache的配置文件httpd.conf,找到這段代碼:

Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all

有時候由於配置了php后,這里的“Deny from all”已經拒絕了一切連接。把該行改成“allow from all”,修改后的代碼如下,問題解決。

Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Allow from all

之所以會出現錯誤,是因為大多數的國外主機在配置Apache的時候啟用了mod_security,也就是開啟了安全檢查,如果提交的信息中包含select , % , bin等關鍵字,Apache就會禁止,並給出403,404,500等錯誤。

4、關於HawkHost空間出現403 Forbidden錯誤的解決方法

有的時候在共享服務器上安裝了Mod security,當網址包含有“%”號等其它敏感字符時,就會被Mod security阻止,馬海祥博客曾經也出現過此情況。

解決HawkHost 403 Forbidden 錯誤的方法:

在.htaccess文件里添加如下代碼:

SecFilterEngine Off
  SecFilterScanPOST Off

直接放在網站的根目錄或者程序運行的目錄下。

5、關於WordPress導致的403 Forbidden錯誤解決方法

對於一些使用WordPress管理程序搭建的博客來說,就需要修改.htaccess文件,在后面添加上如下內容即可,其實就是disable mod_security

SecFilterEngine Off
  SecFilterScanPOST Off

另外dedecms的可能還需要再加一條,以讓默認訪問的是index.html文件的DirectoryIndex index.html。

修改.htaccess文件,將文件上傳之后,再重新打開之前出現403 Forbidden的URL就沒有再出現錯誤,直接可以打開了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM