1836 votes

Désactiver la politique de la même origine dans Chrome

Existe-t-il un moyen de désactiver le Politique d'origine identique sur le site de Google Chrome navigateur ?

1 votes

Voir aussi peter.sh/expériences/chromium-command-line-switches Je ne suis pas sûr de son authenticité, mais il semble qu'il s'agisse d'une collection produite par un processus automatisé.

1 votes

chrome.org liens vers le peter.sh page, donc ça doit être assez légitime.

2 votes

Notez que la désactivation du SOP, même s'il n'est utilisé que pour le développement, est dangereuse. Lorsque vous démarrez votre navigateur de cette façon, vous n'allez probablement pas seulement ouvrir votre application, mais aussi vérifier vos mails, lire le SO Envisagez d'utiliser de meilleures alternatives, par exemple des proxies web, pour résoudre ces problèmes. Par exemple via proxrox : github.com/bripkens/proxrox

1160voto

Dagg Nabbit Points 23918

Fermez chrome (ou chrome) et redémarrez avec la commande --disable-web-security argument. Je viens de tester cela et j'ai vérifié que je peux accéder au contenu d'une iframe avec src="http://google.com" intégrée dans une page servie depuis "localhost" (testé sous chromium 5 / ubuntu). Pour moi, la commande exacte était :

Note : Arrêtez toutes les instances de chrome avant de lancer la commande.

chromium-browser --disable-web-security --user-data-dir="[some directory here]"

Le navigateur vous avertira que "vous utilisez une ligne de commande non prise en charge" lors de sa première ouverture, ce que vous pouvez ignorer.

De la source de chrome :

// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";

Avant Chrome 48, vous pouviez simplement utiliser :

chromium-browser --disable-web-security

1 votes

Assurez-vous que le répertoire existe sous Windows. Créez-en un dans votre dossier personnel Users[user]\.

1125voto

ectype Points 3870

Yep. Pour OSX, ouvrez Terminal et exécutez :

$ open -a Google\ Chrome --args --disable-web-security --user-data-dir

--user-data-dir requis sur Chrome 49+ sur OSX

Pour l'exécution de Linux :

$ google-chrome --disable-web-security

Si vous essayez d'accéder à des fichiers locaux à des fins de développement, comme AJAX ou JSON, vous pouvez également utiliser cet indicateur.

--allow-file-access-from-files

Pour Windows, entrez dans l'invite de commande et allez dans le dossier où se trouve Chrome.exe et tapez

chrome.exe --disable-web-security

Cela devrait désactiver la politique de la même origine et vous permettre d'accéder aux fichiers locaux.

Mise à jour : Pour Chrome 22+, un message d'erreur s'affiche :

Vous utilisez une option de ligne de commande non prise en charge : --disable-web-security. La stabilité et la sécurité en pâtiront.

Cependant, vous pouvez simplement ignorer ce message pendant le développement.

0 votes

Chrome 89.0 - J'ai aussi dû ajouter --user-data-dir="[PATH]" sinon cela ne fonctionnera pas

0 votes

Si vous souhaitez consulter votre répertoire d'utilisateur existant, sous MacOS, vous pouvez le trouver sous : --user-data-dir="/Users/<YOUR_USER>/Library/ApplicationSuppo‌​rt/Google/Chrome" . Type whoami o pwd -P dans le terminal pour trouver votre nom d'utilisateur.

0 votes

C:\Program Files\Google\Chrome\Application - Le chemin d'installation par défaut de Chrome sous Windows (à partir de 07/2021).

584voto

Ola Karlsson Points 1441

Pour les utilisateurs de Windows :

Le problème avec la solution acceptée ici, à mon avis, est que si vous avez déjà Chrome ouvert et que vous essayez d'exécuter l'option chrome.exe --disable-web-security commande, ça ne marchera pas.

Cependant, en faisant des recherches sur ce sujet, je suis tombé sur un article sur Super User, Est-il possible d'exécuter Chrome avec et sans sécurité web en même temps ? .

En gros, vous devez ajouter à la commande et l'exécuter comme ceci à la place (ou créer un raccourci avec elle et exécuter une nouvelle instance de Chrome par ce biais)

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

qui ouvrira une nouvelle instance "non sécurisée" de Chrome en même temps que vous garderez vos autres instances de navigateur "sécurisées" ouvertes et fonctionnant normalement.

Cela fonctionne en créant un nouveau dossier/répertoire "Chrome dev session" sous C : et indique à cette nouvelle instance de Chrome d'utiliser ce dossier/répertoire pour ses données d'utilisateur et de session. De ce fait, la nouvelle instance est séparée de vos données Chrome "normales" et vos signets et autres données enregistrées ne seront pas disponibles dans cette instance.

Note : seule la première "nouvelle" instance de Chrome ouverte à l'aide de cette méthode est affectée, c'est-à-dire que seul le premier onglet de la première nouvelle fenêtre Chrome est affecté. Si vous fermez cette instance, vous pouvez utiliser à nouveau la même commande et, par exemple, tous les signets de votre application locale ou autre seront toujours présents car ils pointent vers le même dossier.

Si vous souhaitez exécuter plusieurs instances "non sécurisées", chacune d'entre elles aura besoin de son propre dossier/répertoire, vous devrez donc relancer la commande avec un nom de dossier différent. Cependant, cela signifie également que chaque instance non sécurisée sera séparée des autres, de sorte que les signets ou autres données d'utilisateur ou de session sauvegardées ne seront pas disponibles entre les instances.

78voto

Coburn Points 125

EDIT 3 : Il semble que l'extension n'existe plus... Normalement, pour contourner CORS ces jours-ci, je configurer une autre version de Chrome avec un répertoire distinct ou j'utilise Firefox avec https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/ à la place.

EDIT 2 : Je n'arrive plus à faire fonctionner ce système de manière cohérente.

EDIT : J'ai essayé de l'utiliser l'autre jour pour un autre projet et il a cessé de fonctionner. La désinstallation et la réinstallation de l'extension ont réglé le problème (pour réinitialiser les valeurs par défaut).

Réponse originale :

Je ne voulais pas redémarrer Chrome et désactiver ma sécurité web (parce que je naviguais tout en développant) et je suis tombé sur cette extension Chrome.

Chrome Web Store Allow-Control-Allow-Origin : *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)

En gros, il s'agit d'un petit interrupteur à bascule permettant d'activer ou de désactiver la vérification du contrôle de l'accès à l'origine (Allow-Access-Origin-Control). Cela fonctionne parfaitement pour ce que je fais.

1 votes

Comment je réalise et intègre avec mon extension comme mon extension a besoin d'accéder à cross domain. Je ne peux pas forcer l'utilisateur à ouvrir le navigateur avec disable-web-security.

0 votes

Il n'autorise que les requêtes AJAX, et non les pages web normales et les extensions pour accéder aux pages web.

1 votes

Cette extension ne fonctionne pas pour les fichiers locaux, malheureusement. Tenez-vous en à l'extension --disable-web-security dans ce cas.

48voto

molokoloco Points 1626

Pour Windows... créez un raccourci Chrome sur votre bureau.
Clic droit > propriétés > Raccourci
Modifier le chemin "cible" :

"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security

(Changez l'adresse 'C :.... \chrome.exe à l'endroit où se trouve votre chrome).

et voilà :)

0 votes

Depuis aujourd'hui, le 27 août 2013, il fonctionne pour moi, me permettant d'utiliser Ajax sur mon propre serveur local.

0 votes

A obtenu "you are using an unsupported command line tag : --disable-web-security" avec Canary version 53

4 votes

@khoailang vous pouvez toujours utiliser l'interrupteur. Cet avertissement fait partie de la guerre de Google contre l'insécurité (une bonne chose). En outre, à partir de la version 55+, vous devez également utiliser --user-data-dir=<quelque autre répertoire ici> afin que Google ne veuille pas que vous mélangiez des règles non sécurisées avec vos profils normaux.

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