- 浏览: 246431 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (151)
- JSP (18)
- Script (11)
- jsp數據庫操作 (4)
- Excel報表導出 (5)
- JAVA (13)
- 精品文章 (3)
- 网络知识 (1)
- XML (4)
- tomcat (4)
- WebService (2)
- Windchill (39)
- eclipse (1)
- 娱乐休闲 (4)
- 批處理 (7)
- 文件 (1)
- HTTP (3)
- HttpClient (4)
- BIOS (1)
- Socket (6)
- FTP (1)
- HTML (3)
- 人生哲理 (0)
- CSS (1)
- 极品软件 (5)
- 數據庫 (3)
- Mail (1)
- SWT Designer (1)
- 系統優化 (3)
- Ajax (3)
- df (0)
- aaa (0)
最新评论
-
magicyang918:
你上边写得是两种实现方式吗?
applet将服务器上文件下载到本机指定目录下 -
magicyang918:
哥哥,看的不是很明白,能不能说清楚点啊?
applet将服务器上文件下载到本机指定目录下 -
zzh03614:
写的很好啊,楼主,期待更多的内容更新
windchill_jsp_actions -
bspeng922:
没有图片啊……
Windchill 工作流的提示和技巧 -
talin2010:
!
jxl template 写excel
Cookie与自动保存
0.相关概念及知识
1.编写和保存Cookie
2.列举Cookie
3.读取Cookie
4.修改和删除Cookie
5.Cookie和安全性
6.设定IE浏览器是否接受Cookie
0.相关概念及知识
Cookie 提供了一种在 Web 应用程序中存储用户特定信息的方法。
例如,当用户访问您的站点时,
您可以使用 Cookie 存储用户首选项或其他信息。
当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息。
什么是 Cookie?
Cookie 是一小段文本信息,
伴随着用户请求和页面在 Web 服务器和浏览器之间传递。
Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。
例如,
如果在用户请求站点中的页面时应用程序发送给该用户的不仅仅是一个页面,
还有一个包含日期和时间的 Cookie,
用户的浏览器在获得页面的同时还获得了该 Cookie,
并将它存储在用户硬盘上的某个文件夹中。
以后,如果该用户再次请求您站点中的页面,
当该用户输入 URL 时,浏览器便会在本地硬盘上查找与该 URL 关联的 Cookie。
如果该 Cookie 存在,浏览器便将该 Cookie 与页请求一起发送到您的站点。
然后,应用程序便可以确定该用户上次访问站点的日期和时间。
您可以使用这些信息向用户显示一条消息,也可以检查到期日期。
Cookie 与网站关联,而不是与特定的页面关联。
因此,无论用户请求站点中的哪一个页面,浏览器和服务器都将交换 Cookie 信息。
用户访问不同站点时,各个站点都可能会向用户的浏览器发送一个 Cookie;
浏览器会分别存储所有 Cookie。
使用 Cookie 能够达到多种目的,所有这些目的都是为了帮助网站记住用户。
例如,一个实施民意测验的站点可以简单地将 Cookie 作为一个 Boolean 值,
用它来指示用户的浏览器是否已参与了投票,这样用户便无法进行第二次投票。
要求用户登录的站点则可以通过 Cookie 来记录用户已经登录,
这样用户就不必每次都输入凭据。
Cookie 的限制
大多数浏览器支持最大为 4096 字节的 Cookie。
由于这限制了 Cookie 的大小,最好用 Cookie 来存储少量数据,
或者存储用户 ID 之类的标识符。
用户 ID 随后便可用于标识用户,以及从数据库或其他数据源中读取用户信息。
浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量。
大多数浏览器只允许每个站点存储 20 个 Cookie;
如果试图存储更多 Cookie,则最旧的 Cookie 便会被丢弃。
有些浏览器还会对它们将接受的来自所有站点的 Cookie 总数作出绝对限制,
通常为 300 个。
虽然 Cookie 在应用程序中非常有用,但应用程序不应依赖于能够存储 Cookie。
不要使用 Cookie 支持关键功能。如果应用程序必须依赖于 Cookie,
则可以通过测试确定浏览器是否将接受 Cookie。
1.编写和保存Cookie
//保存用户名和密码
protected void Button1_Click(object sender, EventArgs e)
{
//因为涉及到密码等的保存 最好是用MD5等加密后 再保存
Response.Cookies["userInfo"]["userName"] = this.txt_UserName.Text.Trim();
if (this.chk_SavePWD.Checked)
Response.Cookies["userInfo"]["userPassword"] = this.txt_UserPassword.Text.Trim();
Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1);
//或
//HttpCookie aCookie = new HttpCookie("userInfo");
//aCookie.Values["userName"] = this.txt_UserName.Text.Trim();
//if (this.chk_SavePWD.Checked)
// aCookie.Values["userPassword"] = this.txt_UserPassword.Text.Trim();
//aCookie.Expires = DateTime.Now.AddDays(-1);//立即失效
//Response.Cookies.Add(aCookie);
}
2.列举Cookie
//列出相关Cookie
protected void Button2_Click(object sender, EventArgs e)
{
System.Text.StringBuilder output = new System.Text.StringBuilder();
HttpCookie aCookie;
string subkeyName;
string subkeyValue;
for (int i = 0; i < Request.Cookies.Count; i++)
{
aCookie = Request.Cookies[i];
output.Append("Name = " + aCookie.Name + "<br />");
if (aCookie.HasKeys)
{
for (int j = 0; j < aCookie.Values.Count; j++)
{
subkeyName = Server.HtmlEncode(aCookie.Values.AllKeys[j]);
subkeyValue = Server.HtmlEncode(aCookie.Values[j]);
output.Append("Subkey name = " + subkeyName + "<br />");
output.Append("Subkey value = " + subkeyValue +
"<br /><br />");
}
}
else
{
output.Append("Value = " + Server.HtmlEncode(aCookie.Value) +
"<br /><br />");
}
}
this.Label1.Text = output.ToString();
}
3.读取Cookie
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//读取相关保存值
if (Request.Cookies["userInfo"] != null)
{
this.txt_UserName.Text = Request.Cookies["userInfo"]["userName"];
this.txt_UserPassword.Text = Request.Cookies["userInfo"]["userPassword"];
//或
//System.Collections.Specialized.NameValueCollection UserInfoCookieCollection;
//UserInfoCookieCollection = Request.Cookies["userInfo"].Values;
//this.txt_UserName.Text =
// Server.HtmlEncode(UserInfoCookieCollection["userName"]);
//this.txt_UserPassword.Text =
// Server.HtmlEncode(UserInfoCookieCollection["userPassword"]);
}
}
}
4.修改和删除 Cookie
修改Cookie
不能直接修改 Cookie。
更改 Cookie 的过程涉及创建一个具有新值的新 Cookie,
然后将其发送到浏览器来覆盖客户端上的旧版本 Cookie。
删除Cookie
删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。
由于 Cookie 在用户的计算机中,因此无法将其直接移除。
但是,可以让浏览器来为您删除 Cookie。
该技术是创建一个与要删除的 Cookie 同名的新 Cookie,
并将该 Cookie 的到期日期设置为早于当前日期的某个日期。
当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。
下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
修改或删除子键
Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString();
Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1);
修改单个子键的方法与创建它的方法相同,如下面的示例所示:
若要删除单个子键,可以操作 Cookie 的 Values 集合,该集合用于保存子键。
首先通过从 Cookies 对象中获取 Cookie 来重新创建 Cookie。
然后您就可以调用 Values 集合的 Remove 方法,
将要删除的子键的名称传递给 Remove 方法。
接着,将 Cookie 添加到 Cookies 集合,
这样 Cookie 便会以修改后的格式发送回浏览器。
下面的代码示例演示如何删除子键。
在此示例中,要移除的子键的名称在变量中指定。
string subkeyName;
subkeyName = "userName";
HttpCookie aCookie = Request.Cookies["userInfo"];
aCookie.Values.Remove(subkeyName);
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
5.Cookie和安全性
Cookie 的安全性问题与从客户端获取数据的安全性问题类似。
在应用程序中,Cookie 是另一种形式的用户输入,
因此很容易被他们非法获取和利用。
由于 Cookie 保存在用户自己的计算机上,
因此,用户至少能看到您存储在 Cookie 中的数据。
用户还可以在浏览器向您发送 Cookie 之前更改该 Cookie。
千万不要在 Cookie 中存储敏感信息,如用户名、密码、信用卡号等等。
不要在 Cookie 中放置任何不应由用户掌握的内容,
也不要放可能被其他窃取 Cookie 的人控制的内容。
同样,不要轻信从 Cookie 中得到的信息。
不要假定数据与您写出时相同;
处理 Cookie 值时采用的安全措施
应该与处理网页中用户键入的数据时采用的安全措施相同。
本主题前面的示例演示在页面中显示值前,
先对 Cookie 内容进行 HTML 编码的方法,
这与在显示从用户处得到的任何信息之前的做法相同。
Cookie 以明文形式在浏览器和服务器间发送,
任何可以截获 Web 通信的人都可以读取 Cookie。
可以设置 Cookie 属性,
使 Cookie 只能在使用安全套接字层 (SSL) 的连接上传输。
SSL 并不能防止保存在用户计算机上的 Cookie 被读取或操作,
但可防止 Cookie 在传输过程中被读取,
因为 Cookie 已被加密。
6.设定IE浏览器是否接受Cookie
1).启动IE;
2).在“工具”菜单上,单击“Internet选项”,打开“Internet选项”对话框;
3).单击“隐私”选项卡,将滑块上移到更高的隐私级别。
如果移动到最顶端则是选择“阻止所有的Cookie”,
此时系统将阻止所有网站的Cookie,而且网站不能读取计算机上已有的Cookie;
4).单击“确定”按钮。
发表评论
-
发aaa
2011-08-04 00:20 0a -
fdsa
2011-07-25 19:58 0a -
ffffff
2011-01-29 17:25 0fff -
fff
2010-06-22 20:57 29afffff -
将图片爆破成粒子
2010-03-08 14:18 967<html> <head><s ... -
Cookie与自动保存
2008-05-27 23:27 1404学习网站以来的错误总结以下是我学网站以来的错误总结,写出来与大 ... -
几个颜色代码
2007-01-27 14:26 1382FF3366 99FF00 3399CC 666666 999 ... -
将图片爆破成粒子
2007-01-01 13:28 1869<***html***><***head** ... -
Dreamweaver网页编辑技巧十八例
2007-01-01 12:55 12061>如何制作电子邮件 ... -
网页制作--新七种武器网页制作--新七种武器
2007-01-01 12:52 11641、在我们的印象中,网 ... -
网页制作--新七种武器网页制作--新七种武器
2007-01-01 12:46 9431、在我们的印象中,网页中鼠标的的摸样总是千篇一律,不是箭头就 ... -
玩透弹出窗口
2007-01-01 12:40 1251经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个 ... -
上下跳跃的大字
2007-01-01 12:32 1046<****script LANGUAGE="J ... -
网页制作经典代码集
2007-01-01 11:54 1338从前写过一个整理总结网页基本制作的文章。想不到的是在很多站点的 ... -
通杀 网页源代码加密
2007-01-01 11:48 1224在地址栏或按Ctrl+O,输入: javascript:s= ... -
禁止页面复制、保存等常用js命令
2007-01-01 11:26 1892<--body onselectstart=" ... -
常用數據類型轉換
2006-12-31 11:08 10171、char---->String---->int ... -
光標焦點設置
2006-12-26 19:47 13131.一般用在填表或登陸頁面 java 代码 &l ... -
小應用技巧
2006-12-24 18:03 10581、image的使用---------鼠標放上去透明度變化 ...
相关推荐
本文将详细讲解如何在UIWebView中进行Cookie的读取与保存。 首先,理解Cookie的基本概念。Cookie是由服务器发送到用户的浏览器并存储在本地的小型文本文件,用于在用户与服务器之间维持状态。当用户再次请求同一...
例如,当用户登录成功后,服务器返回的登录信息可以被插件自动保存为Cookie;当需要验证用户身份时,插件会自动读取Cookie中的信息。 关于插件的使用,首先要在小程序项目中引入这个名为`xcx_cookie`的资源。这可能...
总结起来,实现Cookie自动填充和注销功能涉及对Cookie的理解、JavaScript的事件处理和存储操作。这个小案例提供了一个实践的平台,有助于巩固这些理论知识,提高实际开发能力。在实际项目中,还需要考虑安全性、隐私...
在C#编程中,网页登录并自动保存Cookie是一项常见的需求,尤其在开发自动化脚本或者充值类软件时。本文将详细讲解如何利用C#实现这一功能,并以`XRequest.cs`这个类文件作为核心实现部分。 首先,我们需要理解...
本文将详细探讨Cookie与WebView的结合使用,以及如何在iOS中实现自动登录。 一、Cookie基础 Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,用于存储用户的状态信息,如登录状态、个性化设置等。当...
3. **自动登录**:当用户再次访问网站时,浏览器会在每个HTTP请求头中自动添加上之前保存的`session_id` Cookie。服务器接收到请求后,会查找对应的session记录,如果找到,就认为是已登录的用户,无需再次输入...
**JSP中的Cookie自动登录详解** 在Web开发中,为了提供更好的用户体验,许多网站和应用程序实现了自动登录功能,比如我们常见的QQ自动登录。这个功能可以让用户在打开应用或网站时无需每次都输入用户名和密码,极大...
Cookie是由服务器端发送到浏览器的一小段文本信息,浏览器会将其保存,并在后续的请求中自动发送回服务器。Cookie通常包含键值对,键表示数据的名称,值是实际的数据。在本例中,键可能是"username"和"password",...
JAVA 通过 Session 和 Cookie 实现网站自动登录的技术 在网站开发中,实现自动登录功能是非常重要的,JAVA 通过 Session 和 Cookie 实现网站自动登录的技术是其中的一种方法。本文将详细介绍如何使用 Session 和 ...
如果只希望在本次会话期间保持登录状态,可以设置为会话级Cookie,即浏览器关闭时自动删除。 然而,直接在Cookie中存储用户名和密码存在安全风险。如果用户的计算机被恶意软件感染,这些Cookie可能被窃取,导致账户...
本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下 关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 如果设置了...
在Python编程中,登录网站并保存Cookie是一种常见的需求,特别是在自动化测试、数据抓取或模拟用户行为时。本文将详细讲解如何使用Python实现12306登录并保存Cookie的方法,以便于后续的请求能够保持登录状态。 ...
### Cookie自动登录认证详解 #### 一、Cookie与自动登录机制概述 在Web开发中,自动登录功能为用户提供了极大的便利性,同时也提高了用户体验。自动登录功能的核心在于如何利用Cookie来存储用户的身份验证信息,...
每次浏览器向同一服务器发起请求时,它会自动将该服务器设置的Cookie一并发送回去。这样,服务器就能识别出是哪个用户在进行交互。 在标题所提的“用户密码保存”场景中,通常不建议直接将密码存储在Cookie中,因为...
4. **恢复拖动状态**:当用户下次访问相同页面时,浏览器会自动发送之前存储在Cookie中的拖动位置信息。通过JavaScript读取Cookie,开发者可以将层恢复到用户上次离开时的位置,提供连续的用户体验。 5. **实现原理...
总结,通过使用jQuery和`jquery.cookie.js`,我们可以轻松地实现在用户登录后将用户名和密码保存到Cookie,从而在用户下次访问时自动恢复登录状态。然而,这只是一个基础示例,实际应用中还需要考虑更多的安全措施和...
实现专业化的Cookie自动登录判断,需要考虑以下几个关键点: 1. **安全存储**:存储在Cookie中的信息必须经过加密,防止被恶意用户截取。即使Cookie被窃取,也无法轻易解析出用户名和密码。 2. **有效期管理**:...
而Cookie是Web应用程序中常见的一种客户端存储机制,用于在用户浏览器上持久保存少量数据。在实现自动登录功能时,Struts2和Cookie的结合使用可以极大地提升用户体验,让用户在访问网站时无需反复输入用户名和密码。...
Servlet负责验证用户身份,成功后创建Cookie并返回到响应中,客户端接收到响应后自动保存Cookie。 7. **文件`index.jsp`和`deal.jsp`**:`index.jsp`可能是登录界面,用户输入账号和密码后提交;`deal.jsp`负责处理...
"Cookie保存登录状态"这一概念就是用来解决这个问题的一种常见方法。这里,我们深入探讨一下Cookie的工作原理,以及它如何在用户登录后维持其登录状态。 Cookie是由Web服务器发送到用户的浏览器并存储在本地的小型...