jQuery AJAX通过跨域发布到https web api操作

jQuery AJAX通过跨域发布到https web api操作,jquery,ajax,security,post,cross-domain,Jquery,Ajax,Security,Post,Cross Domain,我有一个azure网站,其页面需要将带有敏感信息的表单发布到另一个域上的服务,该域在服务上启用了ssl安全。它是一个MVC web api,启用了[RequireHttps]和跨域请求 通过跨域使用jQuery post发布敏感信息是否错误?这就是为什么最初在服务器上禁用CORS,这样就没有人执行此类操作的原因吗? 如果可以这样做,我如何保护jQueryAjax传递的信息? jQuery调用可以是这样的: function workIt() { $.support.cors = tru

我有一个azure网站,其页面需要将带有敏感信息的表单发布到另一个域上的服务,该域在服务上启用了ssl安全。它是一个MVC web api,启用了[RequireHttps]和跨域请求

通过跨域使用jQuery post发布敏感信息是否错误?这就是为什么最初在服务器上禁用CORS,这样就没有人执行此类操作的原因吗? 如果可以这样做,我如何保护jQueryAjax传递的信息?

jQuery调用可以是这样的:

function workIt()
{
    $.support.cors = true;
    $.ajax({
        url: 'https://foo.net/api/web/doStuff',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        crossDomain: true,
        type: 'POST',
        success: function (data) {
                doSomething();
        }
    });
}
通过跨域使用jQuery post发布敏感信息是否错误

没有

这就是为什么最初在服务器上禁用CORS,这样就没有人执行此类操作的原因吗

我不知道你说的“最初”是什么意思。CORS是选择性加入的,因为许多网站的安全性依赖于这样一个事实,即它们的页面不能从另一个域上运行的脚本中读取。这是CORS存在之前的情况,因此为了保持向后兼容性,CORS设计为允许新站点自愿共享数据,而不是突然中断所有旧站点

我应该指出,简单、盲目的跨域帖子一直是被允许的——人们可以将表单的
操作设置为另一个站点的资源。在这里,您使用CORS是因为您正在使用数据(对吗?)。此外,由于内容类型的原因,这不是一个简单的请求

如果可以这样做,我如何保护jQueryAjax传递的信息


没什么大不了的。您当前的代码没有任何明显的红色标志。这段代码正确的一点是,它将数据发布为
application/json
,这减轻了CSRF。

在https上这样做几乎是安全的,而不会完全跳过浏览器。你的问题到底是什么?您是否在寻求更好的方法来保护您的数据?你是否在问这是否是一种可接受的做法(这是一种观点,在这里并不受欢迎)?你到底想确保什么?正在传输的数据?目标服务器上的端点?@KevinB,我想问题更多的是关于可接受的实践,以及在jQuery调用中使用SSL。敏感数据通常使用SSL在浏览器和客户端之间发送。它在这个场景中是如何应用的,又是如何实现的呢。。。通过简单地使用ssl。你不需要做更多的事情。任何其他形式的混淆都很容易被撤销,因此是不必要的。我想我的混淆是因为发布将在不同的域中进行。将在域2中的计算机和浏览器之间建立ssl。如何确保向域1计算机的发布安全?