【问题标题】:Why do Asp.net web project have garbage values in the url?为什么 Asp.net web 项目的 url 中有垃圾值?
【发布时间】:2010-08-08 17:14:04
【问题描述】:

我已尝试在 SO 上搜索和搜索此问题 - 但收效甚微 - 主要是因为我不确定自己搜索是否正确。

我正在开发一个使用 Visual Studio 2008、C# 和 Cassini 进行测试的 ASP.Net Web 应用程序项目(不是网站)。

但是,每次我运行该站点时,我都会得到一个 URL,例如:

http://localhost:8671/(S(saifdk55xyhalrqbstrtrdiw))/SubjectClassTeacher/Default.aspx

即使我修改了网址并尝试转到:

http://localhost:8671/SubjectClassTeacher/Default.aspx

我被重定向回此 URL。

中心的垃圾值:(S(saifdk55xyhalrqbstrtrdiw)) 每隔几次我编译就会不断变化,我不知道它为什么会被注入或如何禁用它。

任何人都可以对这个问题有所了解吗? 首先,我想知道为什么会发生这种情况以及如何禁用它。

因为当我在 IIS 上部署网站时也会发生这种情况。 任何帮助表示赞赏。

谢谢。

【问题讨论】:

    标签: asp.net web-application-project


    【解决方案1】:

    这是 ASP.NET* 中的一个巧妙功能,称为 cookieless sessions。它通过将会话 ID 注入每个 URL 来工作,因此 ASP.NET 可以区分访问页面的用户 A 和访问同一页面的用户 B。通常这是通过 cookie 完成的,但这种方法消除了对启用它们的最终用户的依赖。

    来自 MSDN:

    ...您无需更改 ASP.NET 应用程序中的任何内容即可启用无 cookie 会话,但以下配置设置除外。

    <sessionState cookieless="true" />

    *这个概念并不是 ASP.NET 独有的,而是融入到 ASP.NET 中,并且 - 正如您所发现的 - 开发人员无需特别努力就可以打开它。

    【讨论】:

    • PHP 使用查询变量(最后,在“?”之后),这本质上是相同的。 +1。
    • 附带说明,请不要使用无 cookie 会话。使得进行会话固定攻击变得非常简单。
    • 哇!感谢您的快速回复。我只是将 cookieless="false" 放在我的 web.config 中,它就消失了。再次感谢:)
    猜你喜欢
    • 2016-03-02
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2014-06-06
    • 1970-01-01
    • 2021-10-06
    • 2022-01-14
    相关资源
    最近更新 更多