Test de la SCRO avec le Facteur de l'outil/ cURL/ en de la console de Chrome
Je suis en essais de la SCRO avec le Facteur de l'outil et je ne cesse de recevoir des
access-control-allow-origin → null
pour GET
ou OPTIONS
demandes de
http://localhost:4000/api/accounts?Host=http://localhost:4200/&X-Origin=http://jquery.com
Également à l'aide de Origin
au lieu de X-Origin
ne change pas le résultat.
En attendant, si j'utilise cURL comme ce
curl -H "Origin: http://jquery.com" --verbose http://localhost:4000/api/accounts
- Je faire accéder à l'API
< access-control-allow-origin: http://jquery.com
J'ai également ouvert le jQuery site web à l'aide de http
et le chrome console Javascript pour exécuter ce code:
$.get("http://localhost:4000/api/accounts").then(function(val){console.log(val);})
Et imprimer l'objet JSON retourné par l'API.
Maintenant mes questions sont les suivantes:
- Comment puis-je tester correctement la SCRO à l'aide de Facteur? J'ai remarqué que lorsque vous définissez l'option autoriser les origines sur le serveur de
*
Facteur ne retouraccess-control-allow-origin → *
Le problème mentionné ci-dessus n'apparaît que lorsque j'ai choisi de permettre à un ensemble d'origines comme:
`origin: ["https://www.getpostman.com/", "http://localhost:4200/", "http://jquery.com"]`
- J'ai remarqué qu'en permettant à des
http://jquery.com/
au lieu dehttp://jquery.com
ne seront pas permettre à des demandes à partir de laquelle l'origine estOrigin=http://jquery.com
? - J'ai remarqué que cURL retourne le contenu de la ressource (dans ce cas, les données JSON), même si la demande vient de la non-autorisé origine. Est-ce normal ou faut-il dire que j'ai oublié de configurer quelque chose sur le serveur qui expose ces données?
OriginalL'auteur user3790827 | 2016-06-29
Vous devez vous connecter pour publier un commentaire.
La
Origin
en-tête envoyé par le client est le régime, le domaine et le port (si ce n'est de 80), à partir de laquelle la demande émane. La fuite/
n'est pas valide dans l'en-tête. Vous ne pouvez pas envoyer de multiples origines. LeAccess-Control-Allow-Origin
envoyés à partir du serveur peut être*
, permettant à toutes les origines, ou vous envoyer la même origine à partir de l'entête de la requête.Par exemple, si vous faites une demande pour
http://www.telerik.com/
en Chrome, l'en-tête de requête contientOrigin:http://www.telerik.com
(le navigateur envoie automatiquement), et l'entête de la réponse du serveur contientAccess-Control-Allow-Origin:http://www.telerik.com
.Quant à votre dernière question, conformément à la spécification, l'agent de l'utilisateur est responsable de l'application de la SCRO, donc je pense cURL n'a pas de valider que la demande et la réponse de match.
Source: https://www.w3.org/TR/cors/
OriginalL'auteur Gideon Pyzer
Vous pouvez essayer
curl-X OPTIONS " https://domain/path/file.png ' - H "Origine: https://yoursitedomain" -H "Access-Control-Demande-Méthode: GET" -v -o /dev/null
OriginalL'auteur David Kochkerian