Existe-t-il un moyen de désactiver le Politique d'origine identique sur le site de Google Chrome navigateur ?
Assurez-vous que le répertoire existe sous Windows. Créez-en un dans votre dossier personnel Users[user]\.
Existe-t-il un moyen de désactiver le Politique d'origine identique sur le site de Google Chrome navigateur ?
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
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.
Si vous souhaitez consulter votre répertoire d'utilisateur existant, sous MacOS, vous pouvez le trouver sous : --user-data-dir="/Users/<YOUR_USER>/Library/ApplicationSupport/Google/Chrome"
. Type whoami
o pwd -P
dans le terminal pour trouver votre nom d'utilisateur.
C:\Program Files\Google\Chrome\Application
- Le chemin d'installation par défaut de Chrome sous Windows (à partir de 07/2021).
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.
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.
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.
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.
Il n'autorise que les requêtes AJAX, et non les pages web normales et les extensions pour accéder aux pages web.
Cette extension ne fonctionne pas pour les fichiers locaux, malheureusement. Tenez-vous en à l'extension --disable-web-security
dans ce cas.
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à :)
Depuis aujourd'hui, le 27 août 2013, il fonctionne pour moi, me permettant d'utiliser Ajax sur mon propre serveur local.
A obtenu "you are using an unsupported command line tag : --disable-web-security" avec Canary version 53
@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 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.
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
33 votes
Depuis la version 49, utilisez cette option
--disable-web-security --user-data-dir
3 votes
Pour tous ceux qui cherchent des conseils sur la façon de faire cela dans un environnement de développement en utilisant un serveur d'exécution grunt, voir ceci : gist.github.com/Vp3n/5340891
0 votes
J'ai écrit un petit billet sur chrome sans cors
0 votes
Qu'est-ce que cela signifie pour les cookies ?
0 votes
Ver stackoverflow.com/a/33801287/128511
0 votes
Si vous devez simplement tester un site sans cors, utilisez Safari, où il vous suffit d'activer et de désactiver des options, au lieu de lancer une autre instance du navigateur : [ [stackoverflow.com/a/12158217/922457]](https://stackoverflow.com/a/12158217/922457])
0 votes
Si votre objectif est le développement local, définissez une entrée dans le fichier Hosts pour que votre URL de développement puisse être la même que l'URL iframée, puis définissez (avec JavaScript) document.domain = [domaine parent] pour les documents parent et enfant. Ainsi, vous n'aurez plus à résoudre ce problème dans deux ans. Consultez la rubrique "Changement d'origine" ici developer.mozilla.org/fr/US/docs/Web/Security/
0 votes
Voir cet article stackoverflow.com/a/62030502/1770868
0 votes
Si l'on souhaite simplement tester la désactivation de cette fonction (ce que je faisais), c'est beaucoup plus facile à faire dans la section Safari .