欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net中的cookie

程序员文章站 2022-06-25 16:03:11
一.cookie导读,理解什么是cookie ________________________________________   1.什么是cookie:cook...

一.cookie导读,理解什么是cookie
________________________________________
 
1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存。并且读可以取出来的一种技术。
2.当你浏览某网站时,由web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户id、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过访问该网站时,浏览器会自动将属于该网站的cookie发送到服务器去,服务器通过读取cookie,得知你的相关信息,就可以做出相应的动作。比如,显示欢迎你的小标题,不用填写帐号密码直接登录等。。
3.不同的浏览器存储的cooks位置是也不一样的。cookie文件的信息是不安全的,所以cookie里面的数据最好。
4.浏览器保存cookie数据有2中形式:浏览器的内存中,浏览器所在的电脑硬盘中。
 
________________________________________
 二.cookie的查看
________________________________________
 
cookie在硬盘中的存在位置查看方法:
 
 asp.net中的cookie
 
________________________________________
三.cookie的代码解释
 
________________________________________
 
1.将cookie写入浏览器端
 
httpcookie cookie = new httpcookie("id","234"); //创建cookie的实例。
response.cookies.add(cookie);//将创建的cookie文件输入到浏览器端
 
explain:这里相当于在cookie文件中写入键值对为id:234,我们可以读取这个数据
 
________________________________________
2.读出cookie中存放的数据
 
 httpcookie cookie = new httpcookie("id","234"); //创建cookie的实例。
response.cookies.add(cookie);//将创建的cookie文件输入到浏览器端
response.write(request.cookies["id"].value); //读取cookie文件中存储的值
 
explain:页面写出的数据就是234,从这里我们就能看出cookie的不安全性。所以使用的时候最好不要存放重要信息,如果就想存放,可以对其加密,在写入cookie存储文件中。还有如果对其无限制的写入,会造成垃圾文件过多。所以我们可以给cookie文件加一个有效期。
 
________________________________________
3.cookie文件的有效期设置
 
httpcookie cookie = new httpcookie("id","234"); //创建cookie的实例。
            cookie.expires = datetime.now.addmonths(5);//设置cookie的过期时间,5分钟后过期,自动清除文件
            response.cookies.add(cookie);//将创建的cookie文件输入到浏览器端
            response.write(request.cookies["id"].value); //读取cookie文件中存储的值
________________________________________
 
4.cookie文件的删除、销毁
 
            httpcookie cookie = new httpcookie("id","234"); //创建cookie的实例。
            cookie.expires = datetime.now.addmonths(5);//设置cookie的过期时间,5分钟后过期,自动清除文件
            response.cookies.add(cookie);//将创建的cookie文件输入到浏览器端
            response.write(request.cookies["id"].value); //读取cookie文件中存储的值
            cookie.expires = datetime.now.addmonths(-5); //cookie的销毁,给他设置一个多去了的时间,他就倍销毁了。
 
________________________________________
四.一个cookie的小例子,记住我。(如果登录的时候选择记住我,下次无需登录直接跳转的内容页)
________________________________________
 
 
<body>
    <form id="form1" method="post" action="rembpage.x">
    <p>
        帐号: <input type="text" name="username" /><br />
        密码 :<input type="password" name="pass" /><br />
        记住我: <input type="checkbox" value="rem" name="sele1" /><br />
        <input type="submit" value=" 登录 " />
    </p>
    </form>
</body>
 
 
 
 protected void page_load(object sender, eventargs e)
        {
            if (request.cookies["username"] == null && request.cookies["password"] == null)  //判断师傅存在cookie,如果存在表示上次选择了记住我
            {
                if (request.form["username"] != null && request.form["pass"] != null)
                {
                    string username = request.form["username"];
                    string userpassword = request.form["pass"];
                    if (username == "admin" && userpassword == "123")
                    {
                        if (request.form["sele1"] != null)
                        {
                            httpcookie cookieusername = new httpcookie("username", username);  //创建帐号的cookie实例
                            httpcookie cookiepassword = new httpcookie("password", userpassword);
                            cookieusername.expires = datetime.now.adddays(2);   //设置帐号cookie的过期时间,当前时间算往后推两天
                            cookiepassword.expires = new datetime(2012, 5, 27);   //设置密码cookie的过期时间,过期时间为2012年5月27日
                            response.cookies.add(cookieusername);  //将创建的cookieusername文件输入到浏览器端
                            response.cookies.add(cookiepassword);
                            response.redirect("1.aspx"); //跳转到你想要的页面
                        }
                        else
                        {
                            response.redirect("1.aspx");//即便不记住密码也要跳转
                        }
                    }

                }
            }
            else
            {
                response.redirect("1.aspx");//如果记住密码,第二次登录将直接进入1.aspx页面
            }
        }
 
________________________________________
五.js中的cookie以后再写,这里我有什么错误,或者你想指点我什么,请留言。谢谢!

 

 

摘自  张龙豪