yuvista 发表于 2012-7-20 13:28:55

如何处理跨域提交验证问题?

本帖最后由 yuvista 于 2012-7-20 16:21 编辑

最近随着公司产品平台访问量的增加,原来的单一服务器已经无法满足需求,所以我们决定将服务器分拆,图片及文件附件被分拆到独立的一台服务器上(就目前的访问负载暂时还不会考虑DFS之类的东东),跨域上传的功能已经基本实现,但是在处理跨域请求时,遇到了跨域表单请求的验证问题:            我需要在a.com的网页上将文件上传到b.com上,这样一来

          如何验证用户发出的表单请求是合法的?
          这事已经困扰了我两天了,不知各位能否提供一个可实际应用的思路?{:soso_e183:}






ps:之前一台服务器的时候是通过程序内部的判断机制来处理的
         

暗夜星辰 发表于 2012-7-20 14:21:33

本帖最后由 暗夜星辰 于 2012-7-20 14:23 编辑

没处理过此类问题 仅提供一个思路

因为曾遇到 swf上传的问题 可能类似

开启 csrf 获取一个合法的token 然后通过 ajax 获取表单页?

这样是否可以处理 真实性的问题呢?

期待与您探讨

暗夜星辰 发表于 2012-7-20 14:28:39

看下 这个参考 是不是你想要的?
http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=11276

有关csrf那块

yuvista 发表于 2012-7-20 14:38:05

谢谢了,值得参考,不过跟我要的还有点差别,呵呵

yuvista 发表于 2012-7-20 15:34:27

暗夜星辰 发表于 2012-7-20 14:21 static/image/common/back.gif
没处理过此类问题 仅提供一个思路

因为曾遇到 swf上传的问题 可能类似
我也是使用的flash做的跨域上传。
您说的思路是没有问题的,但是现在的问题是:发放token的是a.com ,接受并验证token的是b.com,b.com如何验证a.com分发的token,是我最困扰的问题。

太尉天上飞 发表于 2012-7-21 19:00:24

指纹识别 search on internet

spt119 发表于 2012-7-22 21:43:17

跨域,用XML,既做中间件,也做交互令牌。
另外,加入嵌套的iframe。

yuvista 发表于 2012-7-23 08:43:33

太尉天上飞 发表于 2012-7-21 19:00 static/image/common/back.gif
指纹识别 search on internet

能说下思路么

yuvista 发表于 2012-7-23 08:45:29

spt119 发表于 2012-7-22 21:43 static/image/common/back.gif
跨域,用XML,既做中间件,也做交互令牌。
另外,加入嵌套的iframe。

谢谢,您的提示。
目前跨域上传已经实现,问题出在交互令牌的验证问题上,或者怎么样产生一个可交互认证的令牌,能否提供下思路谢谢了

spt119 发表于 2012-7-23 21:17:03

楼上:
我说下一个简单的思路。前提是a.com和b.com不在一个服务器上。
用户看见的是a.com的页面,你需要在a.com的页面中iframe一下b.com的相关内容。
交互令牌的原理是a.com的操作,保存在一个xml文件中,b.com将在一个trigger触发后,主动到a.com读取这个xml。那么这个xml中保存的内容,就是session及file属性等内容,b.com得到这个xml后,整个工作也就完成。
trigger的设计有这样几种方式:
1.JS定时轮询.比如10秒或更短。这需要在b.com上设置一个常开的页面,否则JS无法操作。
2.内存常驻,这需要有直接操作服务器的权限。
3.由服务器“转按揭”,既a.com操作上传时,在数据库中某个表内发生数据变化。在b.com中由PHP捕获这个变化,并通知b.com去读a.com的xml。

一家之言。
页: [1] 2
查看完整版本: 如何处理跨域提交验证问题?