一、401 Unauthorized 未授权

客户端在访问请求的资源之前,对自己进行认证;HTTP提供一个原生的质询/响应(challenge/response)框架,简化对用户的认证过程。

认证的4个步骤:

  1. 客户端发送请求:第一条请求没有认证信息;
  2. 质询(响应首部www-Authenticate):服务器用401状态拒绝了请求,没有按照请求执行动作,说明需要用户提供用户名和密码。服务器会把受保护的文档组织成一个安全域,每个安全域都可以有不同的授权用户集。所以服务器会有不同的安全域,每个安全域都有自己的密码,所以服务器会在www-Authenticate响应首部对保护区域进行描述,同样认证算法也在www.Authenticate中指定。
  3. 授权(请求首部Authentication):客户端重新发请求,这一会附加一个Authentication的请求首部,用来说明认证算法,用户名和密码,用户名和密码又冒号分隔,并用Base-64编码方式对其进行编码。
  4. 成功Authentication-Info:如果授权证书是正确的,服务器就会将文档返回,有些高级认证算发会在首部附加额外的信息

二、403 Forbidden 拒绝访问

资源不可用,服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致,比如IIS或者apache设置了访问权限不当。

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就没有再出现错误,直接可以打开了。

状态码401 和 403相关推荐

  1. 如何理解区分HTTP状态码401和403

    401 Unauthorized 状态码401标识认证失败,表示请求没有被认证或者认证失败. 通常由web服务器返回,而不是web应用. 场景:token失效.token缺失.token伪造,导致服务 ...

  2. HTTP状态码401和403的区别

    401 Unauthorized:该HTTP状态码表示认证错误,表示这个请求没有被服务器认证或者客户端传送的证书错误,可以修改后在进行重试 403 Forbidden :该HTTP状态码关于授权的,跟 ...

  3. 常见状态码(200、403、404、500)

    1.200表示成功获取到数据 2.403服务器理解并得到请求客户端的请求,但是拒绝执行此请求,就不给你数据 3.404找不到,路径错误 4.500服务器发生错误,无法完成请求

  4. 前端请求后台网址,状态码401 Unauthorized 返回的code500 不知道怎么解决了 救救

    之间用的请求网址是可以登录的,换新的之后就出现了这样的问题,但postman那儿就可以请求到登陆成功,前端配置文件也是换成了新的请求网址.有没有人知道这是什么问题呀

  5. 服务器返回状态码 400、401、403、304 的原因

    状态码 400 意为 请求无效 产生原因 前端提交数据的 字段名称和字段类型与后台的实体 没有保持一致 ; 例如: 前端提交到后台的数据应该是 json 字符串类型,但是前端没有将对象 JSON.st ...

  6. http状态码查询,各种返回码的详解(200、206、500、416、403、404)

    http状态码查询,各种返回码的详解(200.206.500.416.403.404) 文章由帮客之家于2013-11-25 12:11:44分享 评论(324) HTTP状态码,我都是现查现用. 我 ...

  7. Spring Cloud Gateway 自定义网络响应状态码(401,500,503等等)

    近几天打算做一个网关校验的东西,但是发现在使用Gateway的过滤器的时候,没找到设置响应的状态码,网上找了好多也没找到emmmm,不过还好解决了. 直接贴上代码,下面有给出: package com ...

  8. 接口报错401 状态码 Unauthorized

    接口报错401 状态码 Unauthorized 接口报错401 状态码 Unauthorized 报错原因 状态码 401一般指认证发生错误,需要排查认证的参数及获取方式是否正确 解决办法 如果请求 ...

  9. http status 404 – 未找到_HTTP状态码

    200 - OK,服务器成功返回网页 Standard response for successful HTTP requests. 301 - Moved Permanently(永久跳转),请求的 ...

最新文章

  1. 十个jQuery图片画廊插件推荐
  2. python运行过程中会被编译成二进制_Python代码在运行过程中,会被编译成二进制代码。_学小易找答案...
  3. 数据库内核杂谈 - 一小时实现一个基本功能的数据库
  4. js 定时器的用法和清除
  5. Bootstrp--一个导航面板切换的实用例子
  6. DevExpress的TreeList实现节点上添加自定义右键菜单并实现删除节点功能
  7. 七年级计算机考试知识点,七年级语文期中考试复习知识点整理
  8. 除法运算、商、余数与取模
  9. 帮助开发者快速创建响应式布局的Boilerplate - Responsive Boilerp...
  10. EF 4.3 Code-Based Migrations
  11. 帝国cms网站URL伪静态的设置方法
  12. linux检测扩容卡,教你检测SD卡内存卡是否被扩容过的方法
  13. CSR8811A12-ICXR-R双模数据传输模块 蓝牙芯片4.2
  14. 台式计算机有线无线网卡设置,电脑无线网卡如何使用 电脑外置无线网卡详细使用图文教程...
  15. 普渡大学计算机硕士申请条件,普渡大学计算机科学硕士录取条件有哪些?需要这些申请材料...
  16. 【程序员学理财】有哪些普通人应该知道的经济学常识?
  17. R语言使用rbind函数将两个dataframe数据纵向合并起来(vertically)
  18. Android学习日记
  19. ES7、ES8、ES9、ES10新特性大盘点
  20. 基于区块链的学生课程成绩查询系统

热门文章

  1. 因为一句话,爱上一部电影
  2. 3675. 唐纳德先生与假骰子
  3. 【大数据】五、链接分析(PageRank、Topic-sensetive PageRank)
  4. Python计算机视觉(五)——基于BOW的图像检索
  5. ALSA 配置文件简介
  6. [Unity3D]上海某大型游戏公司的基础面试题
  7. 卖掉房子去做理财可取吗?
  8. Qt编写监控Onvif综合示例(支持云台/预置位/抓图/事件订阅等)
  9. 登录中国专利电子申请网的正确姿势
  10. IDC机房之水冷系统