两个问题
1,CSDN上的用户登录两周不用登陆的代码。应该是对文件COOKIE的操作。
2,Cookie是否能跨域访问。为什么?
在线等待。回答后就给分

解决方案 »

  1.   

    如果不是COOKIE Session之类的应该就是把登陆信息放在服务端了
    应该是数据库有个字段负责存放吧
      

  2.   

    对cookie设置有效时间:
    http://topic.csdn.net/t/20050111/14/3716295.html
    跨域的操作:
    http://www.neomusicgroup.com/web/3/11/1339.asp
      

  3.   

    1,CSDN上的用户登录两周不用登陆的代码。应该是对文件COOKIE的操作。Response.Cookies["Login"].Expires = DateTime.Now.AddDays(14);
      

  4.   

    2,Cookie是否能跨域访问。为什么?不知道这里域指什么,印象中跨服务器是不可以的
      

  5.   

    csdn上一定是用的Cookie,因为我删除的cookie后就要求登陆了。我在实现。。成功后就给分
      

  6.   

    呵呵。保持状态挺简单的。SetAuthCookie(CookieName,true)把后一个参数是True就可以了。表示创建持久的Cookie。虽然满足了要求。还是有疑问?Cookie只有生成到客户端文件中这一种马?
      

  7.   

    直接写cookie的过期时间.
    嘛叫域?
      

  8.   

    csdn好像不能保存两周,我用的浏览器是Firefox……
      

  9.   

    Cookie的作用是有域的。要做到跨域认证,必须把两个域的认证Cookie都加入客户端。流程大致如下C (Client) -> 请求认证 -> SA (Server A)
    SA -> 开始认证,成功后得到认证Cookie A
    SA -> 后台连接SB (Server B)认证 -> SB
    SB -> 认证成功返回认证Cookie B -> SA
    SA -> 加入Cookie A到回复,加入Cookie B到回复 -> C
      

  10.   

    要保持认证有效2周,就要把认证Cookie的有效时间设定为2周就可。
      

  11.   

    设计网站的COOKIES有效  setcookie("user",   "aaa",   time()+60*60*24*30);//一月
    Response.Cookies["Login"].Expires = DateTime.Now.AddDays(14);
    try{
    string userName = Request.Cookies["UserName"].Value;
    string password = Request.Cookies["Password"].Value;
       }
            catch { }
     
            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password))
                //如果其Cookies中没有其登录信息,则去前台TextBox中去取得
            {
    userName = userID.Text.Trim();  //从TextBox中读取
    password = userPwd.Text.Trim();
            //判断用户名与密码
            if (saveCookie.Checked == true)//判断用户是否选择了保存用户Cookies
            {
                if (CheckUser(userName, password))
                {
                    Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(14);
                    Response.Cookies.Add(new HttpCookie("UserName", userName));
                    Response.Cookies.Add(new HttpCookie("Password", password));                Response.Redirect("..\\Default.aspx");
                    return;
                }
                else
                {
                    Response.Redirect("Error.aspx");
                    return;
                }
            }
            else
            {
                if (CheckUser(userName, password))
                {
                    Response.Redirect("..\\Default.aspx");
                    return;
                }
                else
                {
                    Response.Redirect("Error.aspx");
                    return;
                }
                
            }
      

  12.   

    任何登陆都同Cookie有关。
    Session是基于Cookies的。
    当然sessionid放在url中的另外一回事
      

  13.   


    看看这个能帮你不、 写入Cookie  其实用JSP操作Cookie是非常简单的,我们来看下面一段JSP程序:  ........(中间略)
    <%
    String cookieName="Sender";
    Cookie cookie=new Cookie(cookieName, "Test_Content");
    cookie.setMaxAge(10);
    response.addCookie(cookie);
    %>
    ........(其他内容)
      这样我们就设置了一个Cookie,很简单吧?  我们来仔细研究一下这段代码:  Cookie cookie=new Cookie(cookieName, "Test_Content");  这一行建立了一个Cookie对象,初始化有两个参数,第一个参数cookieName定义了Cookie的名字,后一个参数,也是一个字符串,定义了Cookie的内容。也就是我们希望网页在用户的机器上标识的文件内容。  接下来一行:cookie.setMaxAge(10),调用了Cookie中的setMaxAge方法,设定Cookie在用户机器硬盘上的存活期为 10秒。一个Cookie在用户的硬盘里面存在的时间并不是无限期的,在建立Cookie对象的时候,我们必须制定Cookie的存活期,超过了这个存活期后,Cookie文件就不再起作用,会被用户的浏览器自行删除。如果我们希望用户在下次访问这个页面的时候,Cookie文件仍然有效而且可以被网页读出来的话,我们可以将Cookie的存活期设得稍微长一些。比如cookie.setMaxAge(365*24*60*60)可以让Cookie文件在一年内有效。  三、 读出Cookie  Cookie文件创建好后,自然还需要我们把它读出来,否则我们不是白费力气吗?接下来我们看看如何读出在用户硬盘上的Cookie。  ........(中间略)Name value<%
    Cookie cookies[]=request.getCookies();
    Cookie sCookie=null;
    String svalue=null;
    String sname=null;
    for(int i=0;i{
    sCookie=cookies[i];
    svalue=sCookie.getValue();
    sname=sCookie.getName();
    %><%
    }
    %>name value
    <%=name%> <%=svalue%>  ........(其他内容)  这一小段JSP文件可以读出用户硬盘上的所有有效的Cookie,也就是仍然在存活期内的Cookie文件。并用表格的形式列出每个Cookie的名字和内容。  我们来逐行分析一下这段代码:  Cookie cookies[]=request.getCookies() 我们用request.getCookies()读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面。  接下来我们用一个循环语句遍历刚才建立的Cookie对象数组,我们用sCookie=cookies[i]取出数组中的一个Cookie对象,然后我们用sCookie.getValue()和sCookie.getName()两个方法来取得这个Cookie的名字和内容。  通过将取出来的Cookie的名字和内容放在字符串变量中,我们就能对其进行各种操作了。在上面的例子里,可通过循环语句的遍历,将所有Cookie放在一张表格中进行显示。