403状态码----详解

2024-06-07 05:58
文章标签 详解 状态 403

本文主要是介绍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就没有再出现错误,直接可以打开了。

这篇关于403状态码----详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038345

相关文章

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

Python中局部变量和全局变量举例详解

《Python中局部变量和全局变量举例详解》:本文主要介绍如何通过一个简单的Python代码示例来解释命名空间和作用域的概念,它详细说明了内置名称、全局名称、局部名称以及它们之间的查找顺序,文中通... 目录引入例子拆解源码运行结果如下图代码解析 python3命名空间和作用域命名空间命名空间查找顺序命名空

SpringRetry重试机制之@Retryable注解与重试策略详解

《SpringRetry重试机制之@Retryable注解与重试策略详解》本文将详细介绍SpringRetry的重试机制,特别是@Retryable注解的使用及各种重试策略的配置,帮助开发者构建更加健... 目录引言一、SpringRetry基础知识二、启用SpringRetry三、@Retryable注解

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Python中的魔术方法__new__详解

《Python中的魔术方法__new__详解》:本文主要介绍Python中的魔术方法__new__的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、核心意义与机制1.1 构造过程原理1.2 与 __init__ 对比二、核心功能解析2.1 核心能力2.2