最近在弄一个东西,遇到一些问题,特来请教大家。 从 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 感谢!我已经换了私钥验证的方案进行请求了。