403错误是什么 403错误怎么解决

 更新时间:2017年1月22日 11:05  点击:5408
403错误是HTTP状态码的一种,属于“请示错误”,表示服务器拒绝请求。如果在搜索引擎尝试抓取您网站上的有效网页时显示此状态代码,那么,这可能是您的服务器或主机拒绝搜索引擎对其进行访问。

一、403错误的种类

403.1:执行访问被禁止

下面是导致此错误信息的两个常见原因:1、您没有足够的执行许可例如,如果试图访问的ASP页所在的目录权限设为“无”,或者,试图执行的CGI脚本所在的目录权限为“只允许脚本”,将出现此错误信息。若要修改执行权限,请在Microsoft管理控制台(MMC)中右击目录,然后依次单击 属性和目录选项卡,确保为试图访问的内容设置适当的执行权限。2、您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET或POST)若要验证这一点,请在MMC中右击目录,依次单击属性、目录选项卡和配置,然后验 证相应文件类型的脚本映射是否设置为允许所使用的谓词。

403.2:读访问被禁止

验证是否已将IIS设置为允许对目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。有关如何解决此问题的其他信息,请查看Microsoft知识库中 相应的文章:247677 错误信息:403.2 Forbidden:Read Access Forbidden(403.2 禁止访问:读访问被禁止)

403.3:写访问被禁止

验证IIS权限和NTFS权限是否已设置以便向该目录授予写访问权。有关如何解决此问题的其他信息,请查看Microsoft知识库中相应的文章:248072 错误信息:403.3 Forbidden:Write Access Forbidden(403.3 禁止访问:写访问被禁止)

403.4:要求SSL

禁用要求安全通道选项,或使用HTTPS代替HTTP来访问该页面。如果没有安装证书 的Web站点出现此错误,请查看Microsoft知识库中相应的文章:224389 错误信息: HTTP 错误 403、403.4、403.5 禁止访问:要求 SSL

403.5:要求SSL 128

禁用要求128位加密选项,或使用支持128位加密的浏览器以查看该页面。如果没有安装证书的Web站点出现此错误,请查看Microsoft知识库中相应的文章:224389 错误 信息:HTTP 错误 403、403.4、403.5 禁止访问:要求 SSL

403.6:IP地址被拒绝

您已把您的服务器配置为拒绝访问您目前的IP地址。有关如何解决此问题的其他信 息,请查看Microsoft知识库中相应的文章:248043 错误信息:403.6 - Forbidden:IP Address Rejected(403.6 - 不可用:IP 地址被拒绝)

403.7:要求客户端证书

您已把您的服务器配置为要求客户端身份验证证书,但您未安装有效的客户端证书。有关其他信息,请查看Microsoft知识库中相应的文章:190004 错误 403.7 或 “Connection to Server Could Not Be Established”(无法建立与服务器的连 接)186812 PRB:错误信息:403.7 Forbidden:Client Certificate Required (403.7 禁止访问:要求客户端证书)

403.8:站点访问被拒绝

您已为您用来访问服务器的域设置了域名限制。有关如何解决此问题的其他信息,请 查看Microsoft知识库中相应的文章:248032 错误信息:Forbidden:Site Access Denied 403.8(禁止访问:站点访问被拒绝 403.8)

403.9:用户数过多

与该服务器连接的用户数量超过了您设置的连接限制。有关如何更改此限制的其他信 息,请查看Microsoft知识库中相应的文章:248074 错误信息:Access Forbidden:Too Many Users Are Connected 403.9(禁止访问:连接的用户太多 403.9)注意:Microsoft Windows 2000 Professional和Microsoft Windows XP Professional自动设置了在IIS上最多10个连接的限制。您无法更改此限制。

403.10:配置无效

403.11:密码更改

403.12:拒绝访问映射表

您要访问的页面要求提供客户端证书,但映射到您的客户端证书的用户ID已被拒绝访问该文件。有关其他信息,请查看Microsoft知识库中相应的文章:248075 错误信 息:HTTP 403.12 - Access Forbidden:Mapper Denied Access(HTTP 403.12 - 禁止访问:映射表拒绝访问)

403.13:客户端证书被吊销

403.14:拒绝目录列表

403.15:超出客户端访问许可

403.16:客户端证书不受信任或无效

403.17:客户端证书已过期或尚未生效

403.18:在当前的应用程序池中不能执行所请求的URL(IIS 6.0专有)

403.19:不能为这个应用程序池中的客户端执行CGI(IIS 6.0专有)

403.20:Passport登录失败(IIS 6.0专有)

二、导致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 allv

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

四、小编点评

从SEO的角度来说,常见403返回码的含义是“forbidden”,搜索引擎会认为当前页面禁止访问,但也不会删除,短期内会反复访问几次,如果网页允许访问,则正常抓取;如果长期返回403,搜索引擎会认为该URL是失效链接,将会删除。因此,建议大家一旦发现自己的网站出现403错误的话,一定要及时的修复,使其链接能够正常访问。如果是不需要的页面,应该设置返回404状态码,按404操作。

http 402错误是什么?402错误较为少见,一般不轻易出现,下面小编就来告诉大家402错误是什么吧。

HTTP 402错误是HTTP状态码的一种,表示“要求付费”;

所求的服务需要付费才能执行时就会返回此错误。

401是HTTP状态码的一种,属于“请示错误”,表示请求可能出错,已妨碍了服务器对请求的处理。具体的401错误是指:未授权,请求要求进行身份验证。登录后,服务器可能会返回对页面的此响应。

下面为大家详细介绍401错误是什么,以及401错误的解决办法。

401错误是什么:

您的Web服务器认为,客户端(例如您的浏览器)发送的 HTTP 数据流是正确的,但进入网址 (URL) 资源 , 需要用户身份验证 , 而相关信息 尚未被提供, 已提供但没有通过授权测试。这就是通常所知的“ HTTP 基本验证 ”。 

需客户端提供的验证请求在 HTTP 协议中被定义为 WWW ? 验证标头字段 (WWW-Authenticate header field) 。

一般来说该错误消息表明您首先需要登录(输入有效的用户名和密码)。 如果你刚刚输入这些信息,立刻就看到一个 401 错误,就意味着,无论出于何种原因您的用户名和密码其中之一或两者都无效(输入有误,用户名暂时停用,等)。

任何客户端(例如您的浏览器),都需要通过以下循环:

从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNS) 提供。

打开一个 IP 套接字 (socket) 连接到该 IP 地址。

通过该套接字写 HTTP 数据流。

从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。

该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码并识别其为 ‘401‘ 时

401错误解决办法

错误号401.1

症状:HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。

分析:由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。

解决方案:

(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。

(2)查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。

注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。

错误号401.2

症状:HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。

原因:关闭了匿名身份验证

解决方案:运行inetmgr,打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。

错误号:401.3

症状:HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。

原因:IIS匿名用户一般属于Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问。

解决方案:给IIS匿名用户访问网站文件夹的权限,方法:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写。

每当遇到http错误代码为400,代表客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误,那么HTTP 400错误怎么解决呢?请看下文介绍。

目前400错误经常出现在用户认证阶段,当一个用户从属于过多的域时,在Kerberos认证阶段会将域信息发送给服务器,从而导致请求字段长度超过服务器设置的上限。

问题重现

更改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\http\Parameters

MaxFieldLength = 10 (hex)

通过以下命令重起系统http服务 (需要管理员权限)

Net stop http

Net start http

通过以下命令重起iis服务

IISRESET

通过浏览器访问服务器网页

调试方法

400错误产生自http级别,服务器端http.sys检测到任何与其配置不符合的请求会直接回复400错误给客户端,同时在C:\Windows\System32\LogFiles\HTTPERR\httperr.log文件中记录日志表明失败原因。

Http error log

#Software:Microsoft HTTP API 2.0

#Version:1.0

#Date:2012-09-05 05:01:22

#Fields:date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-statuss-siteid s-reason s-queuename

2012-09-0505:01:22 ::1%0 20567 ::1%0 80 HTTP/1.1 GET / 400 - FieldLength

也可以通过IE Developer Tool来追踪返回代码。

打开IE, 按F12打开Developer Tool

在network选项卡上点击StartCapture按钮

浏览网页,查看返回码

解决方案

方案一

减少请求中发送的字段长度,使其符合服务器规定。如果该问题是因为该用户加入了过多域组,那就要从一些组中退出来以减少请求长度。

方案二

更改服务器设置,在注册表中更改MaxFieldLength和MaxRequestBytes设置的大小。

具体应该设为多大呢?

可以根据这个链接提供的方式计算token的大小http://support.microsoft.com/kb/327825

然后把MaxFieldLength和MaxRequestBytes的大小设置为token大小的4/3。

如果不想计算,可以安装一个fiddler在客户端,清IE cache,然后发送一个请求然后查看统计信息。一共发送了多少字节可以通过以下方式来查看。

方案三

改用NTLM取代Kerberos认证方式,这样域组信息不会被发送,但是这要根据实际环境需求而定,如果需要用到Kerberos delegation功能,肯定不能改为NTLM。另外Kerberos相对NTLM是一种更为安全的认证方式,所以该方案在选择的时候要更加慎重。

[!--infotagslink--]

相关文章

  • Ecshop提示Only variables should be passed by reference in错误

    在安装好ecshop软件之后我们打开首页时提示Only variables should be passed by reference in错误了,碰到这个问题是什么原因呢?下面我们就一起来看看解决办法吧。...2016-11-25
  • 409错误是什么 http 409错误怎么解决

    409错误是什么?http 409错误怎么解决呢?不少站长在遇到这个错误代码之后都一筹莫展,本次一聚教程网为大家带来了详细的说明,快来看看吧。 409错误是什么: HTTP 40...2017-01-22
  • 414错误是什么 414错误怎么解决

    414错误是HTTP协议状态码中的一种,很多都还不知道414错误是什么,以及不知道怎么解决414错误,那么就来看看小编带来的介绍吧。 414错误是什么: HTTP 414错误,(Requ...2017-01-22
  • http 405错误是什么 http 405错误怎么解决

    http 405错误是什么?http 405错误怎么解决?相信很多站长都在找这两个问题的答案,本次小编为大家带来了详细的教程,快来看看吧。 405错误是什么: HTTP 405错误是H...2017-01-22
  • 401错误码代表什么 401错误解决办法

    401是HTTP状态码的一种,属于“请示错误”,表示请求可能出错,已妨碍了服务器对请求的处理。具体的401错误是指:未授权,请求要求进行身份验证。登录后,服务器可能会返回对页面...2017-01-22
  • http 402错误是什么 http 402简介

    http 402错误是什么?402错误较为少见,一般不轻易出现,下面小编就来告诉大家402错误是什么吧。 HTTP 402错误是HTTP状态码的一种,表示“要求付费”; 所求的...2017-01-22
  • 411错误是什么 411错误怎么解决

    411错误是HTTP协议状态码的一种,很多人都还不知道411错误是什么,本次一聚教程网将为大家进行解答,并且告诉大家411错误怎么解决。 411错误是什么: HTTP 411错误,(Lengt...2017-01-22
  • apache网站提示503错误解决办法

    Apache status 503 的原因大致有如下几种情况 : 1、 CPU 负载过高,服务器响应不过来,返回503 2、 系统连接数超限,超过MaxVhostClients的上限,返回503 3、 单IP连接数超限,超过M...2016-01-28
  • 404错误是什么 404错误怎么解决

    403错误是网站访问过程中,常见的错误提示。资源不可用,服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致,比如IIS或者apache设置了访问权限...2017-01-22
  • 403错误是什么 403错误怎么解决

    403错误是HTTP状态码的一种,属于“请示错误”,表示服务器拒绝请求。如果在搜索引擎尝试抓取您网站上的有效网页时显示此状态代码,那么,这可能是您的服务器或主机拒绝搜索...2017-01-22
  • 412错误是什么 412错误怎么解决

    412错误是什么?412错误怎么解决?本次一聚教程网将为大家带来详细的介绍,帮助大家全面了解412错误的意思以及解决412错误的方法。 412错误是什么: HTTP 412错误,(Precond...2017-01-22
  • Perl CPAN::Modulelist的解决办法

    今天用CPAN安装Term::ReadLine,报了个这样的错误 Going to read /root/.cpan/sources/modules/03modlist.data.gz Can't locate object method "data" via package "C...2016-11-25
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • 407错误是什么 407错误怎么解决

    407错误是什么?407错误怎么解决?不少站长都遇到过407错误,下面小编将告诉大家如何处理407错误。 407错误是什么: HTTP 407错误是HTTP协议状态码的一种,表示需要代...2017-01-22
  • 406错误是什么 406错误怎么解决

    HTTP 406错误是HTTP协议状态码的一种,表示无法使用请求的内容特性来响应请求的网页。一般是指客户端浏览器不接受所请求页面的 MIME 类型。 而MIME类型是在把输出...2017-01-22
  • 410错误是什么 http 410错误怎么解决

    410错误是HTTP协议状态码的一种,本次一聚教程网将为大家详细介绍HTTP 410错误是什么,以及410错误的解决办法。 410错误是什么: HTTP 410错误是HTTP协议状态码的...2017-01-22
  • HTTP 400错误是什么 HTTP 400错误怎么解决

    每当遇到http错误代码为400,代表客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误,那么HTTP 400错误怎么解决呢?请看下文介绍。 目前400错...2017-01-22
  • PHP Fatal error: Cannot use object of type stdClass as array in错误

    下面一起来看看在php开发中碰到PHP Fatal error: Cannot use object of type stdClass as array in错误问题的解决办法吧。 普通的数组出现如下错误 代码...2016-11-25
  • PHP Curl出现403错误的解决办法

    自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果...2014-05-31
  • C#新手常犯的错误汇总

    这篇文章主要介绍了C#新手常犯的错误汇总,对于经验丰富的C#程序员同样具有很好的参考借鉴价值,需要的朋友可以参考下...2020-06-25