开发者

Cross-domain POST with integrated security

开发者 https://www.devze.com 2023-03-25 22:01 出处:网络
I run a site A and I want to be able to POST data to site B, which is hosted on a different subdomain. Now I have complete access to A, but cannot modify B at all.

I run a site A and I want to be able to POST data to site B, which is hosted on a different subdomain. Now I have complete access to A, but cannot modify B at all.

My requirements are:

  • supports file upload
  • does not refresh browser on POST
  • uses Windows integrated security
  • works in IE 7/8 (does not need to support any other browsers)

What's the best way to accomplish this?

What I've tried:

Ideally th开发者_运维知识库is could be done in a simple AJAX call. However the current standard does not support sending binary data (supported in the XMLHttpRequest Level 2 standard, which is not implemented in IE yet).

So the next best thing is to POST to a hidden <iframe> element. Now I've tried this but the server on site B won't accept the data. I looked at the request and the only discrepancies that I found were the referer URL and the integrated authentication. The referer URL might have to be spoofed, which cannot be accomplished by this method. Also for some reason the authentication isn't being negotiated. I'm not 100% sure why.

Ideas:

I'm thinking of creating a proxy page on the server that I run (site A) that forwards the request to site B. Site A also uses integrated security. I don't see anything wrong with this, but I'm not sure if this is the best way to go. Will there be any authentication issues if I just forward the request over?


Using a proxy seems to be the only thing which can work in your case. If you want to make a get request then it can be done using JSONP provided that the server supports JSONP. To make the <iframe> hack work the server should send the headers as

Access-Control-Allow-Origin:* 

which is not the case with you. So using a proxy seems the solution

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号