精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

这涉及一个域名跨域问题,但是在一些大站中是非常常见的,具体表现是在主站的二级站点下登录后,主站就自动取得了cookies,也就不用登录了。

比如已经从主站www.qdxw.net登录,可以让子站:123.qdxw.net,也实现同步登录,也就是说,只要从主站或子站的任何一个站点登录后,主域名下的其它站点就不用再登录了。

用户登录页的提交处理页内加上以下代码

Response.Cookies("mycookies")("username")=rs("username")
Response.Cookies("mycookies").path = "/"
Response.Cookies("mycookies").Domain="qdxw.net"
Response.Cookies("mycookies").Secure=False
Response.Cookies("mycookies").Expires=dateadd("h",24,now()) 'cookies到期时限,可不设,看你的需要了

以上是写入cookies让其它域名下的子站点也生效,那么还牵扯到退出的问题,如果弄不好,在一个站退出后,其它站并不能退出,所以在退出时,要按以下方式进行:

response.Cookies("mycookies").Expires = NOW() -1
response.Cookies("mycookies")("username")=""
Response.Cookies("mycookies").path = "/"
Response.Cookies("mycookies").Domain="qdxw.net"
Response.Cookies("mycookies").Secure=False

还有一种情况,就是修改cookies,若在一个子域名下修改了cookies,同样面临其它域名下的Cookies没有被修改的问题,所以请按以下方法:

Response.Cookies("mycookies").path = "/"
Response.Cookies("mycookies").Domain="qdxw.net"
Response.Cookies("mycookies").Secure=False

另一个注意的问题就是,在退出时:如果在子域名退出,一定要给每一个站里面加一个logout.asp退出文件。

Tags:ASP 域名 cookies