我正在运行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。我可以清除它,每次提交表格时我都会得到一个新的。如果我不清除我的饼干,那么就会停留。
答案 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