2012-02-07 57 views
2

我有一個Apache服務器,它獲取格式錯誤的HTTP請求(Cookie大小非常大)。服務器顯示Cookie值和錯誤請求。有沒有辦法解決這個問題?Apache中格式錯誤的HTTP請求

我試過ErrorDocument指令,但在這種情況下沒有幫助。

+0

什麼是非常大的? Cookie值有一個上限 – fyr 2012-02-07 13:39:25

+0

是的......這就是爲什麼我稱之爲格式錯誤的HTTP請求.. HTTP請求已被手動調整...當HTTP請求命中服務器時,它實際上會引發一個400響應代碼以及一個顯示實際cookie內容的頁面... – thefourtheye 2012-02-07 13:41:38

回答

1

看看這個頁面,它會詳細解釋它。它也將告訴你你描述的完全相同的問題:

實例與解釋: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)。

儘管這個配置選項來解決這個問題,你應該考慮這樣做的可能性基於爲何出錯的原因如下:雖然經常使用您的網站

  • 此錯誤occures - Fix your code這種情況不應該發生並且Cookie總共不應超過4k
  • 這可能不會在您定期使用您的網站時發生 - Fix nothing。千萬不要把時間花在漂亮的頁面上,這些頁面只會被那些試圖以某種方式利用東西的人看到。
+0

正確...這正是我的問題所在......但我不希望Apache拋出「Request Error(invalid_request)」頁面。我想自己處理它...可能嗎? – thefourtheye 2012-02-07 13:49:36

+0

通過ErrorDocument它應該是可能的。但是,您可能需要有某種腳本才能刪除Cookie。事情通常是不應該發生的。 – fyr 2012-02-07 13:51:31

+0

引用自http://httpd.apache.org/docs/2.0/mod/core.html#errordocument 「儘管大多數錯誤消息都可以被覆蓋,但是在某些情況下使用內部消息而不管設置如何'的ErrorDocument'。特別是,如果檢測到格式錯誤的請求,正常請求處理將立即停止並返回內部錯誤消息。這是必要的,以防止不良請求造成的安全問題。「 這排除ErrorDocument,我猜... – thefourtheye 2012-02-07 14:01:02