从 2 个不同的应用程序,我能够发送跨组织请求。虽然浏览器返回 Cross-Origin 错误,但我的服务器仍在接收和执行请求。例如,从远程站点,我可以使用以下方法调用跨域请求,
$.ajax({
xhrFields: {
withCredentials: true
},
data:{ my: 'a' },
url: 'http://MyApp/Page',
type: 'POST'
})
我知道浏览器不会返回对脚本的响应,但我的服务器页面仍在执行。
假设一个无辜的用户登录了一个站点http://abc.com。此应用程序将接受 post 请求以插入记录。当无辜用户访问无辜的http://HackerSite.com时, http: //HackerSite.com将能够通过 Ajax向http://abc.com发送 POST 请求。如何避免这种情况?