正在设置的JSessionID cookie未选中J2EE会话变量选项

时间:2014-12-10 20:47:01

标签: coldfusion

我正在运行Coldfusion 10 Update 14(10,0,14,291717)。

在cfadmin中取消选中“使用J2EE会话变量”选项时,设置jsessionid cookie是否正常?

正在使用enctype设置为multipart / form-data的表单发布的页面的响应中设置它。如果我更改了enctype,似乎在我们的应用程序中以任何形式发生。那是我唯一一次看到它被设定。可能有其他条件导致它被设置,但我没有找到任何。如果表单没有设置enctype,则不会发生这种情况。获取请求也不会发生这种情况。

如果在cfadmin中取消选中该选项,是否应该设置此cookie?

仅使用此特定类型的帖子请求设置是否正常?

这在我的开发机器Mac OSX 10.9.5以及运行Windows Server和IIS的生产服务器上发生。

这些是设置Cookie的页面的响应标头。该页面进行一些表格处理,然后进行cflocation。

HTTP/1.1 302 Found
Date: Wed, 10 Dec 2014 20:42:21 GMT
Server: Apache/2.2.26 (Unix) DAV/2 mod_jk/1.2.32 mod_ssl/2.2.26 OpenSSL/0.9.8za
Set-Cookie: JSESSIONID=A61590143D1AD60644B208F25990F8FA.cfusion; Path=/; HttpOnly
Location: http://localhost/ethm/maintenanceForm/mrformv7/main.cfm?pid=home&BID=1995
Cache-Control: no-cache
Pragma: no-cache
Keep-Alive: timeout=5, max=49
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=UTF-8

更多信息:

我将我的开发cf更新为更新15,因此版本现在为10,0,15,292620。

我在本地站点中创建了一个新文件夹,并将以下两个文件放在该文件夹中:

的Application.cfc

component{
}

index.cfm

<form enctype="multipart/form-data" method="post" action="index.cfm">
<input type="submit" value="Go">
</form>

然后,如果我清除我的cookie并转到该页面,我就不会获得新的cookie。如果我提交表单,我会得到一个JSessionID cookie。我可以清除它,每次提交表格时我都会得到一个新的。如果我不清除我的饼干,那么就会停留。

2 个答案:

答案 0 :(得分:1)

我们在CF10 UPdate 15上为你测试了这个Mat(Wil Genovese)。根据Wil CF,设置J2EE会话cookeies如果它们在CF Admin中被禁用。但是,如果现有的j2ee会话cookie存在于 的情况下,它将持续存在直到它过期。希望这有点帮助。

仅供参考 - 这不是OSX。

编辑:更多信息

进一步测试显示以下Matt。

使用multipart / form-data发出POST时,将始终出现此条件(J2EE cookie集)。如果您将POST标题更改为/ application / x-www-form-urlencoded,则将被设置。并且GET请求将不允许设置它。

使用此Application.cfc(添加或减去设置和名称):

component
{
 THIS.name = "je22test";
 THIS.Sessionmanagement = true;
 THIS.ApplicationTimeout = CreateTimeSpan(1,0,0,0);
 THIS.SessionTimeout = createtimespan(0,0,20,0);
 THIS.SetClientCookies = false;

}

...似乎没有任何效果。我们将把它记录为bug。我不确定其影响。它可能会对安全扫描进行红色标记 - 但您确实使用旋转J2EE会话。仍然,扫描可能会注意到它只在POST请求上旋转。它会看到它,然后标记它(可能是一个信息警告)不旋转。不确定是否有足够的错误来修复或担心,但让我们看看Adobe说的是什么?

答案 1 :(得分:0)

我刚刚搜索了Adobe ColdFusion错误库,发现了这个错误报告 https://bugbase.adobe.com/index.cfm?event=bug&id=3430245

这与我们所看到的(如果不是完全相同的事情)有关,并且它在CF10u14和CF11u3中被“修复”。

但是,正如Mark已经发布的那样,我可以在CF10中验证你得到的结果。所以在我找到错误报告之后,我去CF11u3测试了这个,发现在关闭了J2EE会话变量的情况下,CF11u3 总是设置了jsessionid cookie。

我根据我的发现创建了一个新的错误报告,并链接到旧的错误报告和此论坛页面。但是,我错误地将其标记为“安全漏洞”,因为会话cookie未正确设置在技术上是一个安全问题,现在包括我在内的任何人都看不到它。 那会教我。

此致

Wil Genovese

锶。 Web应用开发人员/ 系统管理员

CF Webtools