132 votes

Quelle est la différence entre CORS et CSP?

De mon point de vue, les technologies appelées partage des ressources d'origine croisée (CORS) et stratégies de sécurité du contenu (CSP) semblent avoir un objectif et une mise en œuvre très similaires.

Les deux semblent vous permettre de mettre en liste blanche l’origine des ressources qu’une version sans compromis de votre page Web incorpore, via des en-têtes de réponse HTTP. La seule différence que je peux voir est que les CSP semblent être plus précis dans ce que vous pouvez approuver dans votre réponse HTTP.

146voto

SilverlightFox Points 5305

La SCRO permet la Même Origine pour être détendu pour un domaine.

par exemple normalement, si l'utilisateur se connecte en example.com et example.org, la Même Politique d'Origine empêche example.com de faire une requête AJAX example.org/current_user/full_user_details et l'accès à la réponse.

C'est la politique par défaut du web et empêche les données de l'utilisateur à partir de la fuite lorsque vous êtes connecté sur plusieurs sites en même temps.

Maintenant, avec la SCRO, example.org pourrait définir une politique de dire qu'il permettra à l'origine, https://example.com de lire des réponses apportées par AJAX. Ce serait le cas si les deux example.com et example.org sont dirigées par la même entreprise et le partage de données entre les origines est d'être admis dans le navigateur de l'utilisateur. Il n'affecte que le côté client de choses, pas le côté serveur.

Dsp d'autre part définir une stratégie de contenu qui peuvent s'exécuter sur le site actuel. Par exemple, si le JavaScript peut être exécuté en ligne, ou les domaines .js fichiers peuvent être chargés à partir. Cela peut être bénéfique pour agir comme une autre ligne de défense contre les attaques de type XSS attaques, où le pirate va essayer d'injecter un script dans la page HTML. Normalement, la sortie serait codé, toutefois dire que le développeur a oublié que sur un champ de sortie. Parce que la politique de prévention de script en ligne de l'exécution, l'attaque est contrecarré.

123voto

Quentin Points 325526

CORS autorise un site A à autoriser le site B à lire des données (potentiellement privées) provenant du site A (à l'aide du navigateur et des informations d'identification du visiteur).

CSP permet à un site pour s'empêcher de chargement du contenu (potentiellement malveillant) à partir de sources inattendues (par exemple comme une défense contre les attaques XSS).

56voto

paradite Points 3672

Aucune des réponses ci-dessus donnent une information claire et concise différence entre CSP et de la SCRO. Ici, c'est ma façon de pensée à ce sujet:

Disons que nous avons abc.com site web qui veut envoyer une demande à def.net.

  1. Lorsque l'utilisateur visite abc.com dans le navigateur, abc.com serveur renvoie abc.com de la réponse HTTP, le CSP restriction à l'intérieur de cette réponse peut empêcher abc.com dans le navigateur à partir de la délivrance de la demande de def.net
  2. Si il n'y a pas de restriction dans les CSP abc.com de la réponse HTTP, puis abc.com dans le navigateur peut envoyer une demande à def.net
  3. Lors de la réception de la demande, def.net le serveur répond avec def.net de la réponse HTTP, de la SCRO restriction à l'intérieur de cette réponse peut empêcher abc.com dans le navigateur de charger

Donc CSP protège abc.com et CORS protège def.net dans l'exemple ci-dessus.

4voto

sbdh shvpj Points 21

La SCRO vérifie avec le tiers l'autorisation d'utiliser ses services. Ainsi, la troisième partie donne ou refuse l'autorisation.

Si par exemple une page dans www.example.com besoin de faire une demande de www.example.org nous avons besoin d'envoyer une requête OPTIONS envoyé à www.example.org avec Origin:www.example.com comme un précurseur de la demande d'autorisation. Maintenant, www.example.org donne ou refuse l'autorisation.

CSP empêche une page web à partir de, par inadvertance, le chargement du contenu malveillant à partir d'un tiers en spécifiant l'emplacement d'un type de contenu peut être chargée. Ainsi, par exemple, vous pouvez fournir une source valide pour chacun de ces scripts, css, des médias, etc. à l'aide de directives

Exemple:

Contenu de la Politique de Sécurité: par défaut-src 'none'; script src 'auto' www.google-analytics.com ajax.googleapis.com; connectez-src 'auto'; img src "moi"; style-src 'auto';

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X