Asp.NET 和 Cookie

发布于 2024-12-18 09:08:05 字数 623 浏览 5 评论 0原文

在我的网站中,我没有使用 cookie。当用户登录时,我通过从数据库获取密码来验证用户凭据,如果用户凭据经过验证,我会将电子邮件 ID 和其他用户相关信息存储到会话中。我使用其他页面中的会话值来验证该页面的用户。

WebConfig:

<sessionState cookieless="true" />
    <authentication mode="Forms">
      <forms name=".YAFNET_Authentication" loginUrl="Home.aspx" 
protection="All" timeout="43200" cookieless="UseUri"/>
    </authentication>

如果我为 cookie 选择 UseUri,则 url 是

(S(2zlu5ry2ewsqfuzkfcmy1xl5))/Home.aspx

附加到我的 url 的内容,公开此值是否安全,我想使用无 cookie 会话,因为大多数浏览该网站的 iPhone 都禁用了 cookie。

我的网站有 SSL 证书。我担心在 url 中显示上述值是否会损害安全性?

In my website I am not using cookies. When the user logs in, I validate the user credentials by getting password from database and if user credentials are validated I store the Email ID and other user related information into a session. I use the session values in other pages to validate the user for that page.

WebConfig:

<sessionState cookieless="true" />
    <authentication mode="Forms">
      <forms name=".YAFNET_Authentication" loginUrl="Home.aspx" 
protection="All" timeout="43200" cookieless="UseUri"/>
    </authentication>

If I select UseUri for cookiless then the url is

(S(2zlu5ry2ewsqfuzkfcmy1xl5))/Home.aspx

What is attached to my url, Is it secure to expose this value, I want to use cookie-less session because most of the iPhones browsing the site have cookies disabled.

I have an SSL certificate for my website. I am worried if displaying the above value in url will compromise the security?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟雨凡馨 2024-12-25 09:08:05

默认情况下,会话 ID 值存储在 cookie 中。如果您提到无 cookie 模式,会话 ID 将附加到 URL 中。

来自 MSDN
http://msdn.microsoft.com/en-us/library/ms178581.aspx

会话标识符

会话由唯一标识符标识,该标识符可以被读取
使用 SessionID 属性。当会话状态启用时
ASP.NET 应用程序中,应用程序中对页面的每个请求都是
检查从浏览器发送的 SessionID 值。如果没有SessionID
提供值后,ASP.NET 启动一个新会话和 SessionID
该会话的值与响应一起发送到浏览器。

默认情况下,SessionID 值存储在 cookie 中。但是,您可以
还可以配置应用程序以将 SessionID 值存储在 URL 中
用于“无 cookie”会话。

只要继续发出请求,会话就被视为活动会话
具有相同的 SessionID 值。如果请求之间的时间
特定会话超出指定的超时值(以分钟为单位),
会话被视为已过期。提出的请求已过期
SessionID 值导致新会话。

安全说明 SessionID 值以明文形式发送,无论是作为
cookie 或作为 URL 的一部分。恶意用户可以访问
通过获取 SessionID 值并包括其他用户的会话
它在对服务器的请求中。如果您要存储敏感信息
在会话状态下,建议您使用 SSL 来加密任何内容
浏览器和服务器之间的通信包括
SessionID 值。

by default session id values are stored in cookies. If you mention cookieless mode,session id will be appended to the URL.

FROM MSDN
http://msdn.microsoft.com/en-us/library/ms178581.aspx

Session Identifiers

Sessions are identified by a unique identifier that can be read by
using the SessionID property. When session state is enabled for an
ASP.NET application, each request for a page in the application is
examined for a SessionID value sent from the browser. If no SessionID
value is supplied, ASP.NET starts a new session and the SessionID
value for that session is sent to the browser with the response.

By default, SessionID values are stored in a cookie. However, you can
also configure the application to store SessionID values in the URL
for a "cookieless" session.

A session is considered active as long as requests continue to be made
with the same SessionID value. If the time between requests for a
particular session exceeds the specified time-out value in minutes,
the session is considered expired. Requests made with an expired
SessionID value result in a new session.

Security Note SessionID values are sent in clear text, whether as a
cookie or as part of the URL. A malicious user could get access to the
session of another user by obtaining the SessionID value and including
it in requests to the server. If you are storing sensitive information
in session state, it is recommended that you use SSL to encrypt any
communication between the browser and server that includes the
SessionID value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文