jQuery AJAX通过跨域发布到https web api操作
我有一个azure网站,其页面需要将带有敏感信息的表单发布到另一个域上的服务,该域在服务上启用了ssl安全。它是一个MVC web api,启用了[RequireHttps]和跨域请求 通过跨域使用jQuery post发布敏感信息是否错误?这就是为什么最初在服务器上禁用CORS,这样就没有人执行此类操作的原因吗? 如果可以这样做,我如何保护jQueryAjax传递的信息? jQuery调用可以是这样的: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
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计算机的发布安全?