.net cookie
HttpCookie
HttpRequest
HttpResponse
这3个 类 。
之间的关系 。
请求 ,相应 都有一个 public HttpCookieCollection Cookies { get; } 可读取的属性。
简单的说就是 :在一个 webform 中 Request. Cookie 可以读取客户端 所有cookie. 返回 HttpCookie 对象, 然后 返回 的 HttpCookie 对象 可以 设置它的Values(值)、Expires(过期时间)、也可以调用 Clear()来清除该 HttpCookie 对象 的值.
Response.cookie.Add 用来 给客户端写入 cookie
cookie 可以直接覆盖,一下是测试代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testcookie.aspx.cs" Inherits="bootstrapLearn.testcookie" %> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<label id="lab" runat="server"></label>
<input type="text" runat="server" id="username" />
<input type="text" runat="server" id="pwd" />
<input type="button" value="登陆" runat="server" id="bt" onserverclick="Unnamed_ServerClick" />
<input type="button" value="登出" runat="server" id="bt_out" onserverclick="bt_out_ServerClick" />
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace bootstrapLearn
{
public partial class testcookie : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) bind();
} protected void Unnamed_ServerClick(object sender, EventArgs e)
{
HttpCookie Cookie = new HttpCookie("testcookie");
Cookie.Values.Add("username", username.Value);
Cookie.Values.Add("userpwd", pwd.Value);
Cookie.Expires = DateTime.Now.AddMonths();
Response.Cookies.Add(Cookie);
Response.Redirect("testcookie.aspx");
} public void bind()
{
if (Request.Cookies["testcookie"] != null)
{
lab.InnerText = "";
HttpCookie cookie = Request.Cookies["testcookie"];
for (int i = ; i < cookie.Values.Count; i++)
{
lab.InnerText += cookie.Values[i].ToString();
}
}
else
{
lab.InnerText = "没有";
}
}
protected void bt_out_ServerClick(object sender, EventArgs e)
{
if (Request.Cookies["testcookie"] != null)
{
HttpCookie Cookie = Request.Cookies["testcookie"];
Cookie.Values.Clear();
DateTime dts = DateTime.Now;//定义时间对象
TimeSpan ts = new TimeSpan(, , , );//cookie有效作用时间
Cookie.Expires = dts.Add(ts);//添加作用时间
Response.Cookies.Add(Cookie);
}
else
{
lab.InnerText = "没有";
}
Response.Redirect("testcookie.aspx");
} }
}
Response.Redirect("testcookie.aspx");
这句话是为了 重新发起请求,访问页面,来证明cookie 的状态是否改了。如果不写这句话,可以手动关闭 浏览器 输入 url 来测试。就是说,按钮 登陆登出,的结果,在本次请求中,没法一次性显示。所以我推荐用 ajax 登陆,登出 更好。
.net cookie的更多相关文章
- 超大 Cookie 拒绝服务攻击
有没有想过,如果网站的 Cookie 特别多特别大,会发生什么情况? 不多说,马上来试验一下: for (i = 0; i < 20; i++) document.cookie = i + '= ...
- IE10、IE11 User-Agent 导致的 ASP.Net 网站无法写入Cookie 问题
你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6.7.8.9下都跑的好好的,唯独到了IE10.11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次.那么,我们 ...
- 解决cookie跨域访问
一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- 一个诡异的COOKIE问题
今天下午,发现本地的测试环境突然跑不动了,thinkphp直接跑到异常页面,按照正常的排错思路,直接看thinkphp的log 有一条 [ error ] [2]setcookie() expects ...
- [转载]Cookie/Session的机制与安全
Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...
- jquery.cookie的使用
今天想到了要为自己的影像日记增加赞的功能,并且需要用到cookie. 记得原生的js操作cookie也不是很麻烦的,但似乎jquery更简单,不过相比原生js,需要额外引入2个文件,似乎又不是很好,但 ...
- 跨域问题,前端主动向后台发送cookie
跨域是什么? 从一个域名的网页访问另一个域名的资源,就会出现跨域.只要协议.端口.域名有一个不同就会出现跨域 例如: 1.协议不同 http://www.baidu.com:80 和 https:/ ...
- 【流量劫持】沉默中的狂怒 —— Cookie 大喷发
精简版:http://www.cnblogs.com/index-html/p/mitm-cookie-crack.html 前言 上一篇文章 讲解了如何借助前端技术,打造一个比 SSLStrip 更 ...
- 好好了解一下Cookie
Cookie的诞生 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新 ...
随机推荐
- SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)
人活着系列之Streetlights Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 人活着假设是为了家庭,亲情----能够说 ...
- Cocos2d-iPhone V3 (1) 其基本程序常用的行动框架和介绍
Cocos2d-iPhone V3 (1) 其基本程序常用的行动框架和介绍 博客:http://blog.csdn.net/prevention 笔者:犀利哥 - 第一部分:一个 Cocos2d-iP ...
- 避免内存重叠memmove()性能
#include <iostream> #include <string.h> using namespace std; void* memmove(void *dst, co ...
- JavaScript 比量 Chrome 核心 360 浏览器(关闭和技巧)
(原因:我相信你会找到360浏览器非常多web会有上述项目的一些问题,不管是"兼容模式"依然是"快速模式".问题也可能存在.非常多用户都装了360杀毒软件,基本 ...
- iOS开发无第三方控件的援助达到的效果侧边栏
最近的研究iOS程序侧边栏.渐渐的发现iOS该方案还开始采取风侧边栏格该,QQ,今日头条,Path(Path运营商最早的侧边栏app该,效果说成是Path效果),所以就研究了下. 然后发现Git Hu ...
- ASP.NET文件上传和下载
大学最近作出相关的需求进行上传和下载文件的网站(求为:站点发布的通知,在后台要能给每一个通知加入附件.在前台要能显示并下载附件),之前仅仅是学习过关于上传的 理论知识,这里实践了一下下,与大家分享一下 ...
- 读改善c#代码157个建议:建议4~6
目录: 建议4:TryParse比Parse好 建议5:使用int?确保值类型也可以为null 建议6:区别 readonly 和 const 的用法 一.建议4:TryParse比Parse 好 T ...
- java安全性语言
java通过所谓的沙箱安全模型保证了其安全性,以下我们就来看看java提供的安全沙箱机制. 组成沙箱的基本组件例如以下: 1.类装载器结构: 2.class文件检验器: 3.内置于java虚拟机(及语 ...
- 读改善c#代码157个建议:建议1~3
目录: 建议一:正确操作字符串 建议二:使用默认转型方法 建议三:区别对待强制转型和as 建议一.正确操作字符串 1.确保尽量少的装箱 static void Main(string[] args) ...
- 准确率和召回率(precision&recall)
在机器学习.推荐系统.信息检索.自然语言处理.多媒体视觉等领域,常常会用到准确率(precision).召回率(recall).F-measure.F1-score 来评价算法的准确性. 一.准确率和 ...