XMLHttpRequests要求CORS跨域工作.类似于Web字体,WebGL纹理和其他一些东西.通常,所有新API似乎都有此限制.
为什么?
它很容易规避:所需要的只是一个简单的服务器端代理.换句话说,不禁止服务器端代码执行跨域请求; 为什么是客户端代码?这对任何人都有什么安全保障?
它是如此不一致:我不能XMLHttpRequest,但我可以<script src>或<link rel>或<img src>或<iframe>.什么限制XHR等甚至完成?
我不确定我理解这会导致什么类型的漏洞.
当我需要从API访问数据时,我必须使用ajax在我自己的服务器上请求PHP文件,并且该PHP文件访问API.是什么让这比仅仅允许我直接用ajax命中API更安全?
就此而言,看起来好像使用JSONP http://en.wikipedia.org/wiki/JSONP,您可以执行跨域ajax允许您执行的所有操作.
有人可以开导我吗?
我没有看到JSONP中的回调函数与AJAX中的成功回调函数有什么不同.
鉴于#1,我不知道它是如何从根本上更安全.
那么与AJAX的人工同域约束的唯一区别是什么?
为什么AJAX不允许跨域请求; 如果这可能导致安全漏洞,攻击不会只是XSS一个JSONP请求吗?
困惑,最大