找回密码
 入住遨海湾
搜索
网站解决方案专享优惠-3折上云
查看: 1326|回复: 1

二级域名或跨域共享Cookies

[复制链接]
发表于 2008-1-8 13:59:00 | 显示全部楼层 |阅读模式

登录后查才能浏览下载更多咨询,有问题联系QQ:3283999

您需要 登录 才可以下载或查看,没有账号?入住遨海湾

×
适用于Asp。在主域名设置的Cookie,在各子域名共用;适用于博客等提供二级域名。这个问题,以网上有众多帖子,可惜都没有完整解决。 注意点:1、当你有一个Cookie组(或叫Cookie字典)使用Domain属性指定域名之后,当你在对该组的成员进行修改或新增的时候,一定要在操作之后加上Resonse.Cookies(cookieName).Domain属性。 $ S! K( s& s N, r" s2、如果没有必要,请不要修改已设置Domain的Cookie组,直接使用Response.Cookies("CookieText") = CookieValue 来创建一个新的Cookie。对于每个独立的Response.Cookies("CookieText") ,不管有无字典,都一次性写入,如果需要在多次写入,换一个Response.Cookies("CookieText") 。这点很重要。3 z7 U2 x% y! T& k# Y 3、Response.Cookies("cookieName").Secure = False,Secure属性一定要是false 例子:Response.Cookies("Uto")("UtorName")=UtorName 9 [' M7 s' T# g. |Response.Cookies("Uto")("UtorPwd")=UtorPwdResponse.Cookies("Uto").Domain="utoper.com"Response.Cookies("Uto").Secure =False4、IE对于.cn短域名的支持有重大BUG,没办法写入Cookies,有人测试了:http://blog.csdn.net/xssh913913/archive/2007/08/04/1725882.aspx 解决办法:如h5.cn域名,在h5.cn所有子域名中,不管从哪个子域名接收的信息,都发往h5.cn这个域名进行写入Cookies,写入时不要设置域名,即这两句不要。) e- D2 B! M8 E2 D, @' ^) C Response.Cookies("User").Domain = "h5.cn" 0 Z7 L; c5 i" Y2 R. H KResponse.Cookies("User").Secure =False1 e+ d$ ?! j. K 这样,在其他任何子域名调用Cookies时就能正常。详贴:http://community.csdn.net/Expert ... 4.xml?temp=.1769525 还有一个问题:近期有时间将详细阐述。 0 t! \) H9 p9 |1 ` - E+ {+ w) v6 {) _! M) t Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1762295
遨海湾-心灵的港湾 www.aosea.com
 楼主| 发表于 2008-1-8 14:00:00 | 显示全部楼层

二级域名共享cookies

步骤: ) Z. C- O R) b; `$ W- r, q1、在iis新建站点3个 : z: T) n) F& owww.goalercn.com(和goalercn.com),img.goalercn.com,blog.goalercn.com' i' @2 g7 ]) I; D1 a3 D, T1 _ 2、在www.goalercn.com下建立文件testcookies.asp,代码如下: " i. U+ ]- t9 U5 P- U% y程序代码$ w6 G) K, |, L8 g7 g <% ( U* @* W- ^8 g5 h1 M( FResponse.Cookies("Type") = "Test Cookies" 8 c; T( M. M; E3 p2 R8 h5 mResponse.Cookies("Type").Expires = date()+30 , ]+ ^' J" D6 Y; c7 @9 d+ wResponse.Cookies("Type").Domain = ".goalercn.com" . z! ~& S' ^" v/ O0 G- TResponse.Cookies("Type").Secure = False( i- U% X8 U* x& y8 i Response.Write Request.Cookies("Type") 4 b3 o8 \: ^5 f3 G%> S& r3 o( @/ g9 P3 j3、在ad.goalercn.com下建立文件testcookies.asp,代码如下:& c/ j9 A( E) `/ K/ k' o 程序代码$ V. U1 w3 m9 @1 B7 R! w# f. { <%Response.Write Request.Cookies("Type")%> 4、在blog.goalercn.com下建立文件testcookies.asp,代码同上 # ~8 T* b( u: ~* t+ B! e. I0 n5、因为是本机测试,修改hosts文件,把4个域名都指向到127.0.0.1,也就是添加如下内容: # W. l5 W* v" J9 P0 b 127.0.0.1 ad.goalercn.com ) a2 i! e; n5 p0 F2 s" U 127.0.0.1 blog.goalercn.com + e$ d' ~& b6 K8 h4 A9 J4 K 127.0.0.1 www.goalercn.com 8 A% {$ S2 W! n) L7 E, i 127.0.0.1 goalercn.com - z" {5 _% b! c. L( r/ T5 O, q6、关闭所有浏览器,开ie,打开http://www.goalercn.com/demo/testcookies.asp,显示出文本内容:Test Cookies - W f. S, n" Q/ w6 E4 y& w5 h! o7、新建窗口,打开http://ad.goalercn.com/temp/testcookies.asp,显示出文本内容:Test Cookies / b$ B' h' g# k+ c% Q1 ^. J8、新建窗口,打开http://blog.goalercn.com/temp/testcookies.asp,同样显示出如上文本内容' Q0 b/ ?9 Q g2 G6 ~6 P4 W/ H' m 9、换其他4个浏览器,都成功。注意点: 5 F7 a6 {& w% _5 B& V* ?: h9 I1、Response.Cookies("Type").Secure = False,Secure属性一定要是false,或者直接不执行这行,如果Secure = True,则ad和blog的2级域名是取值不了。% n, |* ^ L |( X 2、Response.Cookies("Type").Domain = ".goalercn.com",domain的值,我设置为"goalercn.com",也就是没有前面的点,在IE下成功9 L& |) B d# z 其他4个浏览器没测试。 2 y, D" a8 k% g3、path我猜是不应该设置的。; W* ~8 b. n4 ^6 f0 w. T 4、在局域网内其他机器上,修改host指向到我机器的IP,取值成功。 1 s) u. m, b9 B6 G! v# \+ p5、在局域网另外一台机器上架设ad.goalercn.com,把testcookies.asp文件copy过去,同时修改host到当前机器,取值成功
遨海湾-心灵的港湾 www.aosea.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 入住遨海湾

本版积分规则

网站解决方案专享优惠-3折上云

QQ|手机版|小黑屋|遨海湾超级社区

GMT+8, 2024-11-22 08:10

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表