| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5589 人关注过本帖
标题:突然想到一个跨站(跨域名)传递session的思路,高手看看能不能行的通.
只看楼主 加入收藏
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
结帖率:100%
收藏
 问题点数:0 回复次数:26 
突然想到一个跨站(跨域名)传递session的思路,高手看看能不能行的通.
经常有人讨论象网易通行证是怎么做的,就是一次登陆,全站通行. 拿本站来作个比方吧(www.bc-cn.net): 假如本站再加一个BLOG(blog.bc-cn.net),域名和论坛(bbs.bc-cn.net)不一样,从论坛的页面到blog页面后session肯定是没有了(即使网站都在一个空间), 如果想让登陆论坛以后到BLOG也不用登陆我尝试用这种方式 1.在论坛上作一个连接如 "我的博客",连接地址为 http://bbs.bc-cn.net/url.asp,这个连接文件还在论坛的域名下,当然也有论坛的session,假设为:session("user") url.asp代码如下:
<!--#include file="conn.asp"--> <% dim user,username,password,rs user=session("user") set rs=conn.execute("select * from [user] where username="&user) rs.close set rs=nothing conn.close set conn=nothing username=rs(username) password=rs(password) response.redirect("blog.bc-cn.net/come.asp?username="&user&"&password="&password&"") %>
转到come.asp后把用户名和密码传给了come.asp(最担心的是这样会不会把用户名和密码暴漏给上网记录,转到come.asp后马上还要跳转的) 下面是come.asp的代码:
<!--#include file="conn.asp"--> <% dim username,password,rs username=request("username") password=request("password") set rs=conn.execute("select * from [user] where username="&username&" and password="&password&"") if not rs.eof then session("user")=username end if response.redirect("index.asp") %>
跳转到index.asp(即博客的首页),就可以根据session("user")是否为空来判断是否登陆了. 各位高手,各位大侠,讨论讨论这样能不能行的通啊
搜索更多相关主题的帖子: 域名 session blog quot 网易 
2005-06-27 15:16
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
既然是同一个空间
为什么SESSION不能传递呢?

2005-06-27 15:36
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
这个方法我觉得不行 用这个方法还不如用隐藏域传参呢 原理基本相同 以下是我做过的一个利用隐藏域传参的 就是一个跳转页面 <SCRIPT language=JavaScript> function send(){ document.Login.username.value="xxxx" document.Login.password.value="xxxx" document.Login.action="http://xxxxxxxxxxxx/login.php"; document.Login.submit(); } </SCRIPT> <body onLoad="send();"> <FORM name=Login method=post> <INPUT type=hidden name=referer> <INPUT type=hidden name=username> <INPUT type=hidden name=password> </FORM> </body>

2005-06-27 15:42
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
对于稍微懂得网页基础知识的人来说
这两种方法都是可以拿到密码的

还有一种方法做的比较简单有效
就是自己写一个比较简单的加密函数
因为是自己写的
即使简单也不容易被采到
这边传递的时候传递加密后的
那边接受的时候在解密就可以了

不知道我这种方法能不能行通
个人理解实现这个的关键就是用户名和密码的传递
第一要考虑的就是安全问题

2005-06-27 15:49
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
恩,刚看了一个asp和asp.net的共享session是这样实现的,不知道这样能不能保证安全, 有时候浏览器会保存访问过的网页,会不会把 [QUOTE]<SCRIPT language=JavaScript> function send(){ document.Login.username.value="xxxx" document.Login.password.value="xxxx" document.Login.action="http://xxxxxxxxxxxx/login.php"; document.Login.submit(); } </SCRIPT> <body onLoad="send();"> <FORM name=Login method=post> <INPUT type=hidden name=referer> <INPUT type=hidden name=username> <INPUT type=hidden name=password> </FORM> </body>[/QUOTE]这个页面给保存起来? 回2楼的问题,session不能跨域名,即使在一个空间, 假如本论坛有两个域名bbs.bc-cn.net和bbs2.bc-cn.net,用第一个域名登陆以后再把地址变成第一个域名,按回车后会退出登陆.

畅所欲言
2005-06-27 16:00
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
登陆用session  传递用Cookie 不知道行不行
2005-06-27 16:02
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
用4楼的方法应该比较安全
加密和解密的过程是ASP的,服务器端的
应该没有什么问题
而跳转页面的内容是经过加密的
即使得到了要破解也比较困难(因为是自己写的嘛)
呵呵
至少这种方法比前两种好一点

2005-06-27 16:05
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
cookie是一个站对应自己的值
好象不同的站之间互不影响
不知道我理解的对不对
在说COOKIE本身就是一个可是文件
不知道安全性好不好

2005-06-27 16:08
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
恩,加密的方法不错
大型的门户网站是通过什么方式呢?

有不少朋友应聘的时候被问到了这个问题

畅所欲言
2005-06-27 16:09
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
我不是很赞同您们的想法

这样是给用户画了一条路 如果用户不安画好的路线 就不能传递了

在网易登陆一个地方 你不管用什么路经 (只要不掉线)就能安全到达
2005-06-27 16:10
快速回复:突然想到一个跨站(跨域名)传递session的思路,高手看看能不能行的通.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024596 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved