什么使跨域ajax不安全?

我不知道我明白这是什么类型的漏洞.

当我需要从API访问数据时,我必须使用ajax在我自己的服务器上请求一个PHP文件,该PHP文件访问该API.什么使这更安全,只是让我直接用ajax打API?

对于这个问题,它看起来像使用JSONP http://en.wikipedia.org/wiki/JSONP,你可以做任何跨域ajax将让你做的一切.

有人可以启发我吗

我认为你误解了同源政策试图解决的问题.

想像一下,我已经登录Gmail,Gmail中有一个JSON资源http://mail.google.com/information-about-current-user.js,其中包含有关登录用户的信息.该资源大概是由Gmail用户界面使用,但如果不是同源政策,我访问过的任何网站,以及我可能是Gmail用户,都可以运行AJAX请求资源作为我,并检索有关我的信息,没有Gmail能够做很多事情.

因此,同源策略不是保护您的PHP页面从第三方网站;而不是保护从第三方网站访问您的PHP页面用户;而是从PHP页面来保护访问您的PHP页面用户以及他们有特殊访问权的任何第三方站点. (“特殊访问”可能是因为Cookie或HTTP AUTH或IP地址白名单,或者只是在正确的网络上 – 也许有人在NSA工作,正在访问您的网站,这并不意味着你应该能够从NSA内部页面触发数据转储.)

通过引入不同的限制,JSONP以安全的方式规避这一点:仅当资源为JSONP时,它才起作用.因此,如果Gmail希望给定的JSON资源可供第三方使用,那么它可以支持该资源的JSONP,但如果只希望该资源可以被其自己的用户界面使用,那么它只能支持简单的JSON.

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 😃 https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: "./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...