免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1678 | 回复: 5
打印 上一主题 下一主题

还是跨域问题,大家能否给出一个实际的解决方案? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-12 10:11 |只看该作者 |倒序浏览
两台服务器分别装有apache+php,有各自的应用,但都需要用户登录后才能访问,想用session验证用户身份,但由于两台服务器是在不同的域,所以会存在跨域的问题。看了网上的文章和本论坛的一个帖子:http://chinaunix.net/jh/27/206819.html,感觉都没有解决这个问题,因此还请各位再次讨论一下,有人做过类似的东西吗?能否把你的解决方案共享一下。
我个人的方法是:建立一个数据库sessions保存用户session信息,两台服务器的session都放在那里。但是经过试验发现用户在不同域(甚至子域)的每次产生的session id都是不一样的,因此就想把用户在某一台服务器访问后产生的session id,通过URL方式传到另一台,而在另一台服务器上如果发现在数据库中已存在该session id,则把相应信息取出。但这样做是否存在安全问题呢?请各位指点。谢谢。

论坛徽章:
0
2 [报告]
发表于 2004-03-13 04:20 |只看该作者

还是跨域问题,大家能否给出一个实际的解决方案?

php session 提供有一个接口,可以“重载”它。

session_set_save_handler()

论坛徽章:
0
3 [报告]
发表于 2004-03-13 18:15 |只看该作者

还是跨域问题,大家能否给出一个实际的解决方案?

谢谢楼上兄弟回复!
我就是用session_set_save_handler()来保存到数据库里啊,但session id在不同域的不一致是很令人头痛的问题,无法解决。不知道ASP,JSP是如何解决此类问题的?象那些大网站的很多服务器都是放在不同地方的,完成用户的身份验证是怎么实现的呢?

论坛徽章:
0
4 [报告]
发表于 2004-03-13 22:43 |只看该作者

还是跨域问题,大家能否给出一个实际的解决方案?

主流的方法:

A.
*.php?sid=e1e6e76f7687d8s89d36549d1s3d8f

B.
$cookie->;setCookie("sid","e1e6e76f7687d8s89d36549d1s3d8f";

论坛徽章:
0
5 [报告]
发表于 2004-03-14 14:09 |只看该作者

还是跨域问题,大家能否给出一个实际的解决方案?

我也考虑过这个方法,但是否安全,譬如说:hacker在某个网络上装上sniff之类的东西后,窃取到这个字串,然后利用该SID来冒充该用户,造成安全问题。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2004-03-19 11:34 |只看该作者

还是跨域问题,大家能否给出一个实际的解决方案?

原帖由 "cyberteddy" 发表:
谢谢楼上兄弟回复!
我就是用session_set_save_handler()来保存到数据库里啊,但session id在不同域的不一致是很令人头痛的问题,无法解决。


不要用系统提供的SID。
自己造一个。用crypt()或者md5()一下。比较安全。 同时记录用户登录的来源IP。

我也考虑过这个方法,但是否安全,譬如说:hacker在某个网络上装上sniff之类的东西后,窃取到这个字串,然后利用该SID来冒充该用户,造成安全问题。

验证用户登录的IP。

问题:
1、这样做可能会限制一些合法用户,不太方便。
2、如果hacker可以伪造IP,那也不成,呵呵。想不到更好的办法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP