浏览器开发工具里发出的 HTTP 请求, 还有本地发出的请求, 跨域问题怎样理解


写了小工具, 放到 Github Pages 上边, 结果有跨域的限制无法获取 Github API 的数据..
只能在 Chrome 看这个问题: http://jiyinyiyong.github.com/github-...

刚开始, 我在本地.. (没有域名的当然)写的测试代码, 这时, HTTP 请求是能获取到的,
而且我看 API 的 Response, 也没有写允许跨域的什么什么内容对吧..
这个时候跨域问题怎样理解?

然后我的代码里暴露了 get 方法, 可以用法向参数传进去的路径发送请求的..
这是我发送了一个请求, 发现 Origin 被认为是当前所在的网站了,
按这样想, 比如我访问新浪微博, 那不是可以从控制台手动模拟请求了?
这样我想应该是一个漏洞了呀, 这是不是也需要防范?

http github JavaScript

MoeOta 11 years, 8 months ago

不太明白你的意思,可以参考下在之前在 http://segmentfault.com/q/10100000001... 的答案。
很多网站的api都是使用JSONP来实现的,和直接的ajax返回json数据略有不同。在设计这样的允许跨域的api的时候就是要想好那些可以用哪些不能。
在本地的时候可以实现,这个倒是没有留意过,继续等待其他人的回答。
祝好运。

開關的使者 answered 11 years, 8 months ago

Your Answer