超过响应缓冲区限制

Response 对象 错误 ‘ASP 0251 : 80004005‘

/his/zygl/jzgl_left.asp,行 0

此 ASP 页的运行造成响应缓冲区超过其配置限制。

于是上网查找答案,得出下面结果,并顺利解决这个问题:

由于页面中数据较多,有上千条,导致出现“超过响应缓冲区限制。此 ASP 页的运行造成响应缓冲区超过其配置限制”。假设

response.buffer=false这样设的话,能够查出,可是好慢。怎么解决?

我们能够加大Buffer的缓冲区,办法是:

先在服务里关闭iisadminservice服务。

找到 windows\system32\inesrv\下的metabase.xml,打开,找到

AspBufferingLimit 把他改动为须要的值,默觉得4194304,即4096KB,4M。

建议把它改动为41943040(40M)或适合的数值,取决于server内存是否足够大。

然后重新启动iisadminservice服务。

注意事项:

1、要注意server内存量是否足够。

2、还有由于数据量比較大,对应的还要改动ASP处理时间,即:

改动“AspScriptTimeout“ 默认值90(秒)

改动“AspSessionTimeout“ 默认值20(分钟)。

当您使用 Response.BinaryWrite 方法,在 IIS 6 中和 IIS 7 中时出现错误消息:"HTTP 500"或"超过响应缓冲区限制"

http://support.microsoft.com/kb/944886/zh-cn

当您将文件发送到client计算机从安装了 Web server上哪些 Internet Information Services (IIS) 7 或 IIS 6,您可能会收到类似于下面内容的一种在client计算机上一条错误消息:

错误消息 1

HTTP 500-内部server错误

错误消息 2

响应对象错误 ASP 0251: 80004005

超出响应缓冲区限制

ASP 页的运行引起响应缓冲区超过其配置的限制。

错误消息 1

此外,您可能会收到一条消息类似于下面内容,IIS 日志文件里:

ASP_0251_:_80004005|Response_Buffer_Limit_Exceeded

若要将文件发送到client计算机使用 Response.BinaryWrite 方法和 AspBufferingOn 属性设置为 False 时,会出现此问题。

出现此问题的解决办法是当 ASP 响应缓冲被禁用时,IIS 会强制默认活动server页面 (ASP) 响应缓冲区值为 4 MB。

在大多数的方案 4 MB 缓冲区限制足以为 ASP 响应发送到 Web client的。没有足够此限制时使用下列方法之中的一个。

方法 1: 降低响应大小

若要解决此问题时,使用 Response.BinaryWrite 方法和 ASP 缓冲处于关闭状态,验证返回给client的数据不大于 4 MB。

假设响应,则大于 4 MB 的默认值此大小常常会导致较差的用户体验。在 Web 浏览器必须通过网络接收较大的响应。然后,在 Web 浏览器必须分析,并显示很大的 HTML 响应。

方法 2: 启用 ASP 响应缓冲,而且添加缓冲区限制

IIS 6 中您能够启用或禁用缓冲在应用程序级别使用 AspBufferingOn IIS 元数据库属性。有关
AspBufferingOn
IIS 元数据库属性的具体信息,请訪问以下的 Microsoft 站点:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/fbe1bd5f-52d4-4a26-8ab1-7bb897bb3d53.mspx
(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/fbe1bd5f-52d4-4a26-8ab1-7bb897bb3d53.mspx)

注意IIS 7 中您能够启用或禁用 ASP 响应缓冲在应用程序级别的 <System.webserver> ASP 部分中使用
bufferingOn
ApplicationHost.config 文件里或在 Web.config 文件里。

若要启用或禁用缓冲页级别,您能够使用 Response.Buffer 属性。有关 Response.Buffer 属性的具体信息,请訪问以下的 MSDN 站点:

http://windowssdk.msdn.microsoft.com/en-us/library/ms526001.aspx (http://windowssdk.msdn.microsoft.com/en-us/library/ms526001.aspx)

假设您必须添加缓冲区限制,选择同意的最大的已知的响应大小的缓冲区限制。假设不事先知道最大响应大小,您能够将缓冲区限制添加到一个较大的值在測试过程中。在完毕測试后,出现的最大值在
sc 字节 中使用字段中 IIS 日志文件为页生成的响应。

若要添加缓冲限制在 IIS 6 中的,请依照下列步骤操作:

  1. 单击 開始、 单击 执行,键入
    cmd,然后单击 确定
  2. 键入以下的命令,然后按 ENTER 键:

    cd/d %systemdrive%\inetpub\adminscripts
  3. 键入以下的命令,然后按 ENTER 键:

    cscript.exe adsutil.vbs SET w3svc/aspbufferinglimit
    LimitSize

    注意LimitSize 表示缓冲的大小限制以字节为单位)。比如对于数 67108864 将缓冲的大小限制设置为 64 MB。

若要确认已正确设置了缓冲区限制,请依照下列步骤操作:

  1. 单击 開始、 单击 执行,键入
    cmd,然后单击 确定
  2. 键入以下的命令,然后按 ENTER 键:

    cd/d %systemdrive%\inetpub\adminscripts
  3. 键入以下的命令,然后按 ENTER 键:

    cscript.exe adsutil.vbs GET w3svc/aspbufferinglimit
时间: 2024-10-12 15:31:57

超过响应缓冲区限制的相关文章

ASP: Response 对象 错误 &#39;ASP 0251 : 80004005&#39; 解决办法

Response 对象 错误 'ASP 0251 : 80004005' 超过响应缓冲区限制 这种情况一般是因为需要输出的网页内容太大了,由于asp在输入内容到客户的浏览器上之前,会把需要输出的全部内容先输出到缓存区,这个缓存区一般默认大小为4194304,即4MB. 参见:c:\windows\system32\inetsrv\下的metabase.xml文件里的AspBufferingLimit="4194304" 当需要输出的网页内容超过设置的AspBufferingLimit时

缓冲区溢出漏洞攻击原理

转自互联网 0x00 缓冲区溢出概念 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上, 理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患,操作系统所使用的缓冲区,又被称为"堆栈".在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出. 0x01 缓冲区溢出原理 程序员通过往程

缓冲区溢出以及缓冲区溢出攻击

缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量.溢出的数据覆盖在合法数据上.理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串.但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患. 操作系统所使用的缓冲区又被称为堆栈,在各个操作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出. 当一个超长的数据进入到缓冲区时,超出部分就会被写入其他缓冲区,其他缓冲区存放的可能是数据.下一条指令的指针,或者是其他程序的输出内容,

缓冲区溢出攻击(待看)

缓冲区溢出攻击 本词条缺少信息栏.名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 缓冲区溢出攻击是利用缓冲区溢出漏洞所进行的攻击行动.缓冲区溢出是一种非常普遍.非常危险的漏洞,在各种操作系统.应用软件中广泛存在.利用缓冲区溢出攻击,可以导致程序运行失败.系统关机.重新启动等后果. 1简介编辑 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上.理想的情况是:程序会检查数据长度,而且并不允许输入超过缓冲区长度的字符.但是绝大多数程序都会

如何处理Android中的防缓冲区溢出技术

[51CTO专稿]本文将具体介绍Android中的防缓冲区溢出技术的来龙去脉. 1.什么是ASLR? ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化.通过添加攻击者预測目的地址的难度.防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的.通常情况下.黑客会利用某个特定函数或库驻存在特定内存位置的这一事实.通过在操纵堆或其它内存错误时调用该函数来发动攻击.ASLR则可以避免这样的情况

缓冲区溢出分析第01课:缓冲区溢出分析导论

前言 <缓冲区溢出分析>这一系列的内容是我为"i春秋"所录制的同名视频课程的讲稿汇总.每次我都是在写完课程的文档后,再依据文档内容进行课程的讲解.而本系列的内容也是从零开始,来给大家由浅入深地进行缓冲区溢出漏洞的讲解.整个课程是理论与实践相结合,每讲完几个基础理论后,都会配以实际的软件中的漏洞进行分析,以帮助大家更好地理解漏洞的原理. 课程导论 漏洞指的是在硬件.软件.协议的具体实现或系统安全策略上存在的缺陷,通常是由程序的编写者在编写时的疏忽造成的.漏洞的存在使攻击者能够

缓冲区溢出的利用(函数跳转)

大端序:数据的高位字节存放在地址的低端 低位字节存放在地址高端 小端序:数据的高位字节存放在地址的高端 低位字节存放在地址低端(例如x86) 栈增长方向:由高地址到低地址 缓冲区溢出:当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,使得溢出的数据覆盖在合法数据上,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令. #include <stdio.h> #include <stdlib.h> #include &

怎样处理Android中的防缓冲区溢出技术

[51CTO专稿]本文将详细介绍Android中的防缓冲区溢出技术的来龙去脉. 1.什么是ASLR? ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的.通常情况下,黑客会利用某个特定函数或库驻存在特定内存位置的这一事实,通过在操纵堆或其他内存错误时调用该函数来发动攻击.ASLR则能够避免这种情况,

使用Linux进行缓冲区溢出实验的配置记录

在基础的软件安全实验中,缓冲区溢出是一个基础而又经典的问题.最基本的缓冲区溢出即通过合理的构造输入数据,使得输入数据量超过原始缓冲区的大小,从而覆盖数据输入缓冲区之外的数据,达到诸如修改函数返回地址等目的.但随着操作系统和编译器针对缓冲区溢出问题引入防护机制,初学者想要由简入繁的学习和实践缓冲区溢出的原理变得困难.在 Linux 环境下,用户可以通过设置编译和系统环境来去除某些防护措施,从而方便的完成某些简单的缓冲区溢出实验. 1.关闭SSP( Stack Smashing Protector