Rails [问题] 请教一个跨域请求的方案

hanluner · 2014年01月19日 · 最后由 hanluner 回复于 2014年01月20日 · 3340 次阅读

最近在弄一个东西,遇到一些问题,特来请教大家。 从 A 站向 B 站发送 post 请求,两者域名不同,A 站是 PHP 做的(发送请求已搞定),B 站是 rails 做的,如何在 B 中正确识别请求就是 A 站发出,而且一律屏蔽其它域名向 B 站发送的请求。 找到了这个 https://github.com/cyu/rack-cors 但是测试了一下,并不管用。接受了所有的请求。 有没有什么推荐的方案?

A 站的 POST 请求加一个特殊的 header 值。 B 站收到请求,先去看看 request.header 是否有这个值。

虽然毫无安全性可言,但是能满足楼主的要求。

如果想做的安全一点,可以直接参考百度和阿里 api sdk 之类的,做公钥,秘钥签名加密。

我觉得你是没有配置对

应该是没有配正确

Access-Control-Allow-Origin: http://A站域名

看看 B 站的输出的头里面是不是包含上面的内容。

当然这种只是用来限制浏览器跨域的,如果你用 php 直接从后台去直接 get,post 之类,不存在跨不跨域。

CORS 满足你的需求。不知道你怎么测试的

#1 楼 @Victor #3 楼 @hhuai #4 楼 @frankfang128 感谢!我已经换了私钥验证的方案进行请求了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号