Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重命名ASP.NET会话Cookie名称的原因?_Asp.net_Session Cookies - Fatal编程技术网

重命名ASP.NET会话Cookie名称的原因?

重命名ASP.NET会话Cookie名称的原因?,asp.net,session-cookies,Asp.net,Session Cookies,是否有任何理由(安全性?)有人应该重命名ASP.NET会话Cookie名称,或者这只是ASP.NET的一个毫无意义的选项?1)它可能会(稍微)减慢(随意)寻找它的人的速度 2) 您可能想隐藏您正在运行ASP.NET的事实。如果您在同一台服务器上的同一个域下运行多个应用程序,那么您很可能希望每个应用程序都有单独的会话cookie名称,这样它们就不会共享同一会话状态,或者更糟糕的是,还会相互覆盖 另请参见以下内容的注释: 指定用于身份验证的HTTP cookie。如果多个应用程序在单个服务器上运行,

是否有任何理由(安全性?)有人应该重命名ASP.NET会话Cookie名称,或者这只是ASP.NET的一个毫无意义的选项?

1)它可能会(稍微)减慢(随意)寻找它的人的速度


2) 您可能想隐藏您正在运行ASP.NET的事实。如果您在同一台服务器上的同一个域下运行多个应用程序,那么您很可能希望每个应用程序都有单独的会话cookie名称,这样它们就不会共享同一会话状态,或者更糟糕的是,还会相互覆盖

另请参见以下内容的注释:

指定用于身份验证的HTTP cookie。如果多个应用程序在单个服务器上运行,并且每个应用程序都需要唯一的cookie,则必须在每个Web.config文件中为每个应用程序配置cookie名称


我认为这主要是口味的问题。一些人/公司希望控制其web应用程序的各个方面,可能只是使用另一个名称与其他cookie名称保持一致。例如,如果您在整个应用程序中使用非常短的单字符参数名称,您可能不喜欢AspSessiond这样的会话cookie名称


安全原因可能适用,但在我看来相当薄弱。

下面的链接提供了有关为什么应重命名会话cookie的更多信息

“会话ID使用的名称不应具有极端的描述性,也不应提供有关ID用途和含义的不必要的详细信息

最常见的web应用程序开发框架使用的会话ID名称可以很容易地提取指纹[0],例如PHPSESSID(PHP)、JSESSIONID(J2EE)、CFID&CFTOKEN(ColdFusion)、ASP.NET_SessionId(ASP.NET)等。因此,会话ID名称可以公开web应用程序使用的技术和编程语言

建议将web开发框架的默认会话ID名称更改为通用名称,例如“ID”。

使用,您可以通过特殊的命名方式将安全属性添加到cookie中。因此,在这种情况下,重命名ASP.NET会话cookie确实会对安全性产生影响:

  • \uuuu Secure-…
    cookies只能从安全(HTTPS)站点写入
  • \uuuu主机-…
    cookies只能从同一个安全域写入。因此,不是来自子域或不安全(HTTP)站点

    • 根据现代浏览器实现的以下规范,前缀用于使事情更加安全

      3.1。“\uuu Secure-”前缀

      如果cookie的名称以“\uuu Secure-”开头,则cookie必须是:

    • 设置为“安全”属性
    • 从用户认为其“方案”是“安全”的URI设置 特工

      当从任何来源设置时,将拒绝以下cookie,如下所示: 未设置“安全”标志

      设置Cookie:uu Secure-SID=12345;Domain=example.com

      如果从安全原点设置,则可接受以下内容
      (如“”),否则拒绝:

      设置Cookie:uu Secure-SID=12345;保护Domain=example.com

    • 3.2。“\uuu主机-”前缀

      如果cookie的名称以“\uuuu Host-”开头,则cookie必须是:

    • 设置为“安全”属性
    • 从用户认为其“方案”是“安全”的URI设置 特工
    • 仅发送到设置cookie的主机。那是一块饼干 不能从“”中设置名为“\uuuu Host-cookie1” 包含“域”属性(因此将仅发送给 “example.com”,而不是“subdomain.example.com”)
    • 发送到每个主机请求。也就是说,一个名为 “_Host-cookie1”必须包含值为的“Path”属性 “/”

      以下cookies将始终被拒绝:

      设置Cookie:uuu Host-SID=12345设置Cookie:uuu Host-SID=12345; 安全设置Cookie:uu Host-SID=12345;Domain=example.com
      设置Cookie:uu Host-SID=12345;Domain=example.com;路径=/
      设置Cookie:uu Host-SID=12345;保护Domain=example.com;路径=/


    • 2) 可能是真的,但ASP.NET的第一个赠品将在呈现的标记和id管理中。ASP.NET的其他赠品包括存在常见的文件扩展名,如.aspx、.asmx、.axd;来自IIS的响应头,如x-powered-by:ASP.NET。更微妙的是,存在会话锁定行为,其中一个使用请求的会话必须在另一个会话开始之前完成。我不是ASP.NET专家,但在同一域下使用多个应用程序时,它是否相应地设置了cookie“path”参数?@Ferdinand Beyer-可能会,但没有“path”甚至“domain”会话状态配置上的属性-请注意,Forms Auth cookie Path notes会说“默认值为斜杠(/),因为大多数浏览器区分大小写,如果路径大小写不匹配,则不会将cookie发送回。”。您将面临一个潜在的痛苦世界。表单身份验证cookie名称与会话cookie名称不同(后者通常称为ASP.NET_SessionId,可以独立于表单/登录cookie名称进行更改)@DavidRoberts,因此我的“请参见”注释-forms auth cookie的文档解释了为什么您可能想要重命名它,而会话cookie文档却没有。但我认为答案中包含的这一点令人难以置信地误导。解释和基本原理不一定适用,因为表单cookie和会话cookie不是一回事。(文档中)是否有证据表明冲突的会话cookie名称会导致所描述的效果?显然,表单cookie是这样的——但是会话[状态]cookie呢?