2013-03-13 95 views
1

在ServiceStack(33年9月3日),我們得到以下異常:ServiceStack CookieException

errorCode":"CookieException" 
"message":"The 'Name'='$Version' part of the cookie is invalid." 
"stackTrace":" at System.Net.Cookie..ctor(String name, String value)\r\n at 
System.Net.Cookie..ctor(String name, String value, String path, String domain)\r\n at 
ServiceStack.WebHost.Endpoints.Extensions.HttpRequestWrapper.get_Cookies()\r\n at 
ServiceStack.ServiceHost.HttpRequestAuthentication.GetCookieValue(IHttpRequest httpReq, 
String cookieName)\r\n at 
ServiceStack.ServiceInterface.AuthenticateAttribute.AuthenticateIfDigestAuth(IHttpRequest 
req, IHttpResponse res)\r\n at 
ServiceStack.ServiceInterface.AuthenticateAttribute.Execute(IHttpRequest req, 
IHttpResponse res, Object requestDto)\r\n at 
ServiceStack.ServiceInterface.RequestFilterAttribute.RequestFilter(IHttpRequest req, 
IHttpResponse res, Object requestDto)\r\n at 
ServiceStack.WebHost.Endpoints.EndpointHost.ApplyRequestFilters(IHttpRequest httpReq, 
IHttpResponse httpRes, Object requestDto)\r\n at 
ServiceStack.WebHost.Endpoints.RestHandler.ProcessRequest(IHttpRequest httpReq, 
IHttpResponse httpRes, String operationName) 

當我們的供應商(代碼中,我們不控制)提出以下要求:

Content-Length: 283401 
Authorization: Basic -------------------------- 
Cookie: $Version=0; ss-id=----; $Path=/, $Version=0; ss-pid=---; $Path=/ 
Host: ----- 
User-Agent: Jakarta Commons-HttpClient/3.1 

任何可能我們可以使用什麼變通辦法或設置來避免異常?

謝謝。

+0

我會首先升級到最新版本ServiceStack的這在這個時候是v3.9.38,如果它仍然是一個問題,發送一個可重複的測試失敗的[ServiceStack項目的GitHub問題](https://github.com/ServiceStack/ServiceStack/issues/)。 – mythz 2013-03-13 22:55:38

回答

1

今天我在日誌中發現了一堆相同的錯誤(ServiceStack 3.9.67)。

我不擔心試圖避免異常或返回正常的資源。我不是PHP開發人員,但我相信他們是惡意成立的請求 - 攻擊者期待PHP服務器。他們要麼嘗試探索PHP版本和環境工作目錄,要麼嘗試將環境變量設置爲根目錄(我不確定PHP的變量'cookie < - >'crap-magic'的方向)。

編輯:我結束了寫它修復:https://github.com/ServiceStack/ServiceStack/pull/857