Why isn't my cross-domain request working? - google-chrome

http://pastebin.com/B9MqcM1D
Failed to load resource: Request header field
Access-Control-Allow-Origin is not allowed by
Access-Control-Allow-Headers.
--disable-web-security Doesn't help.

Access-Control-Allow-Origin is a response header not a request header.
It has to be sent by the server you are making the request to.
CORS would be useless if the site hosting the JavaScript could grant itself permission to access any site on the WWW.

Related

CORS questions with Chrome

I am testing a backend SOAP API with Ionic and I am getting CORS problems.
The app is launched with ionic serve that has http://localhost:8100 origin
I enabled the MOESIF CORS and ORIGIN extension with this configuration:
When I do a GET request to
http://host/WebService1.asmx?WSDL
It works fine but when I do a POST request to
http://host/WebService1.asmx
With a xml body it returns this error.
Access to XMLHttpRequest at 'http://host/WebService1.asmx' from origin
'http://localhost:8100' has been blocked by CORS policy: Response to
preflight request doesn't pass access control check: No
'Access-Control-Allow-Origin' header is present on the requested
resource.
I have tried whith Safari with the security disabled and works all fine but I need to work with Chrome
What would be doing wrong?

Fonts are blocked by firefox Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at firefox

When I open my html file in browser , fonts blocked by firefox , I don't have any problem on other browsers and this happen just on mozila firefox.
Error :
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
remote resourceat file:///C:/Users/SajjaD/Desktop/PdfCar%20New%20Theme/Theme/PdfCar%20V2/fonts/WebY ekan.woff. (Reason: CORS request not http).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
remote resource at file:///C:/Users/SajjaD/Desktop/PdfCar%20New%20Theme/Theme/PdfCar%20V2/fonts/font awesome-webfont.woff2?v=4.5.0. (Reason: CORS request not http).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
remote resource at file:///C:/Users/SajjaD/Desktop/PdfCar%20New%20Theme/Theme/PdfCar%20V2/fonts/font awesome-webfont.woff?v=4.5.0. (Reason: CORS request not http).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
remote resource at file:///C:/Users/SajjaD/Desktop/PdfCar%20New%20Theme/Theme/PdfCar%20V2/fonts/fontawesome-webfont.ttf?v=4.5.0. (Reason: CORS request not http).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
remote resource at file:///C:/Users/SajjaD/Desktop/PdfCar%20New%20Theme/Theme/PdfCar%20V2/fonts/dinar.woff. (Reason: CORS request not http).
The reason you are getting a CORS error is likely because you are loading your font's via a network path file:///C:/... rather than an actual HTTP request.
disallows reading the
remote resourceat file:
This message essentially means we found that you had something to load but we are not allowed to access it because it is a local file resource on the network drive in which we do not have permission to request.
You can probably bypass this error by correctly referencing your resources, so rather than pointing to file:///C:// you would start from the root folder that contains the website and request them from there e.g. ../website/assets/fonts/font-file.ttf. But this is a wild guess on the basis that I have no idea what tech stack you are developing with.
You can read more about it here : https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSRequestNotHttp

WebTorrent Broken

I'm trying to figure out how to get web torrent to play a video, but I'm getting some weird errors. Here is a pastebin: https://pastebin.com/raw/3wp5F8Fh
And here is a live version: https://41182065-e8d9-40b1-8dd9-9433b402bce9.htmlpasta.com/
When we go to the chrome console, we get this:
Mixed Content: The page at 'https://41182065-e8d9-40b1-8dd9-9433b402bce9.htmlpasta.com/' was loaded over HTTPS, but requested an insecure script 'http://momentjs.com/downloads/moment.min.js'. This request has been blocked; the content must be served over HTTPS.
/favicon.ico:1 Failed to load resource: the server responded with a status of 404 ()
(index):1 Access to XMLHttpRequest at 'https://nyaa.si/download/941788.torrent' from origin 'https://41182065-e8d9-40b1-8dd9-9433b402bce9.htmlpasta.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
webtorrent.min.js:4 Uncaught Error: Error downloading torrent: XHR error
at webtorrent.min.js:5
at t.exports.<anonymous> (webtorrent.min.js:7)
at t.exports.t (webtorrent.min.js:5)
at t.exports.r.emit (webtorrent.min.js:4)
at XMLHttpRequest.c.onerror (webtorrent.min.js:7)
The explanation is in the error message, but in short: your browser has blocked the request because you're using AJAX to communicate with a remote server and that server isn't sending the appropriate 'Access-Control-Allow-Origin' header.
The reason such requests are blocked is to protect you from malicious scripts - if you're logged in to website A and have access to some private data, then website B shouldn't be able to trigger an AJAX request to access that data unless A trusts B.
The general term for this kind of access is 'Cross Origin Resource Sharing' or 'CORS' - for more information, Mozilla have a nice summary here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
If you have control of the remote server then responding with the appropriate header will allow the request to go through (although note that some browsers such as Safari will still block cookies from the remote server because this technique can be used for tracking).

XMLHttpRequest cannot load http://localhost:9090/receive. No 'Access-Control-Allow-Origin' header is present on the requested resource

I am opening a html file through nginx server and then the html file passes the "POST" request from the dropzone to the nginx server which then proxy_pass to my go server.This go server then accepts the request.
But when i try to use my html file and drop something in the dropzone i get the error :
XMLHttpRequest cannot load http://localhost:9090/receive. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9009' is therefore not allowed access.
PLease help me out.
In your error above you have the page loading from http://localhost:9009 requesting to http://localhost:9090/. These are different origins according to the Same Origin description here: https://www.rfc-editor.org/rfc/rfc6454#section-5
The origins must match:
scheme
host
port
For you the the scheme and host are the same, but the ports are different. Thus you will need to add the CORS headers to allow the caller to call your server on http://localhost:9090.

Hangout app XMLHttpRequest cannot load error when trying to call a .php file to get data

I am trying to talk to mysql from my Google Hangout app and the test code works fine from an HTML page, but gets blocked when I run it in the app .XML wrapper in a hangout.
There I get this in the console (I had to replace the URLs due to me being new here) :
<<<<<>>>>>
XMLHttpRequest cannot load XXXXXX MY file URL XXXXX. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https XXXXXX GOOGLE USER CONTENT XXXXX' is therefore not allowed access. ifr?url=app%3A%2F%2F609528936436%2Fhangout&container=hangout&view=default&lang=all&country=ALL&debu…:1
GET XXXXXX MY file URL again only with https XXXXX net::ERR_CONNECTION_REFUSED ifr?url=app%3A%2F%2F609528936436%2Fhangout&container=hangout&view=default&lang=all&country=ALL&debu…:1199
XMLHttpRequest cannot load XXXXXX MY file URL XXXXX. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https XXXXXX GOOGLE USER CONTENT XXXXX' is therefore not allowed access. ifr?url=app%3A%2F%2F609528936436%2Fhangout&container=hangout&view=default&lang=all&country=ALL&debu…:1
<<<<<>>>>>
What am I doing wrong? Thank you!
ANSWER Thanks to Gerwin Sturm:
Your problem seems to be that with the Hangout App running inside of an iframe hosted on Google servers your server refuses to send content to this different domain.
Two possible solution:
1) Set the headers on your server to allow cross-origin request. In your php script you should be able to do this by calling
header("Access-Control-Allow-Origin: *");
2) Use https://hangoutiframer.appspot.com, which allows you to run the hangout app on your own server, preventing CORS problems that way.