我有一个Apache服务器,它获取格式错误的HTTP请求(Cookie大小非常大)。服务器显示Cookie值和错误请求。有没有办法解决这个问题?Apache中格式错误的HTTP请求
我试过ErrorDocument指令,但在这种情况下没有帮助。
我有一个Apache服务器,它获取格式错误的HTTP请求(Cookie大小非常大)。服务器显示Cookie值和错误请求。有没有办法解决这个问题?Apache中格式错误的HTTP请求
我试过ErrorDocument指令,但在这种情况下没有帮助。
看看这个页面,它会详细解释它。它也将告诉你你描述的完全相同的问题:
实例与解释:http://stevesouders.com/tests/cookie-max.php
如果你想拥有自定义错误处理
ErrorDocument 400
应该做的工作,如果在配置正确.htaccess
文件。您也可以直接在httpd.conf
中配置它(请参阅:https://serverfault.com/questions/158122/problems-redirecting-error-400-bad-request-to-custom-page)。
尽管这个配置选项来解决这个问题,你应该考虑这样做的可能性基于为何出错的原因如下:虽然经常使用您的网站
Fix your code
这种情况不应该发生并且Cookie总共不应超过4k
Fix nothing
。千万不要把时间花在漂亮的页面上,这些页面只会被那些试图以某种方式利用东西的人看到。正确...这正是我的问题所在......但我不希望Apache抛出“Request Error(invalid_request)”页面。我想自己处理它...可能吗? – thefourtheye 2012-02-07 13:49:36
通过ErrorDocument它应该是可能的。但是,您可能需要有某种脚本才能删除Cookie。事情通常是不应该发生的。 – fyr 2012-02-07 13:51:31
引用自http://httpd.apache.org/docs/2.0/mod/core.html#errordocument “尽管大多数错误消息都可以被覆盖,但是在某些情况下使用内部消息而不管设置如何'的ErrorDocument'。特别是,如果检测到格式错误的请求,正常请求处理将立即停止并返回内部错误消息。这是必要的,以防止不良请求造成的安全问题。“ 这排除ErrorDocument,我猜... – thefourtheye 2012-02-07 14:01:02
什么是非常大的? Cookie值有一个上限 – fyr 2012-02-07 13:39:25
是的......这就是为什么我称之为格式错误的HTTP请求.. HTTP请求已被手动调整...当HTTP请求命中服务器时,它实际上会引发一个400响应代码以及一个显示实际cookie内容的页面... – thefourtheye 2012-02-07 13:41:38