Existe-t-il un moyen de désactiver la politique d'origine identique sur le navigateur Chrome de Google ?
peter.sh
page, donc doit être assez légitime.
--disable-web-security --user-data-dir
Existe-t-il un moyen de désactiver la politique d'origine identique sur le navigateur Chrome de Google ?
peter.sh
page, donc doit être assez légitime.
--disable-web-security --user-data-dir
Réponses:
Fermez chrome (ou chrome) et redémarrez avec l' --disable-web-security
argument. Je viens de tester cela et de vérifier que je peux accéder au contenu d'un iframe avec src = "http://google.com" intégré dans une page servie à partir de "localhost" (testé sous chrome 5 / ubuntu). Pour moi, la commande exacte était:
Remarque: Tuez toutes les instances de chrome avant d'exécuter 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
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.
Oui. 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 Linux run:
$ google-chrome --disable-web-security
De plus, 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, allez 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 même politique d'origine et vous permettre d'accéder aux fichiers locaux.
Mise à jour: pour Chrome 22+, un message d'erreur s'affiche:
Vous utilisez un indicateur de ligne de commande non pris en charge: --disable-web-security. La stabilité et la sécurité en souffriront.
Cependant, vous pouvez simplement ignorer ce message pendant le développement.
--disable-web-security
cela ne fonctionne pas à moins que vous ne donniez également explicitement un --user-data-dir
. c'est-à-dire OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.
open -n
. Courez simplement open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Cela ouvrira une deuxième instance d'application Chrome sur votre Mac et vous pourrez les utiliser côte à côte.
Pour les utilisateurs de Windows:
Le problème avec la solution acceptée ici, à mon avis, c'est que si vous avez déjà ouvert Chrome et essayez de l'exécuter, cela ne fonctionnera pas.
Cependant, lors de mes recherches, je suis tombé sur un post sur Super User, est-il possible d'exécuter Chrome avec et sans sécurité Web en même temps?.
Fondamentalement, en exécutant la commande suivante (ou en créant un raccourci avec elle et en ouvrant Chrome à travers cela)
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
vous pouvez ouvrir une nouvelle instance "non sécurisée" de Chrome en même temps que vos autres instances de navigateur "sécurisées" restent ouvertes et fonctionnent normalement.
Important : supprimer / effacer le C:/Chrome dev session
dossier à chaque fois que vous ouvrez une fenêtre car la deuxième fois --disable-web-security
ne fonctionnera pas. Vous ne pouvez donc pas enregistrer vos modifications, puis l'ouvrir à nouveau en tant que seconde instance non sécurisée de Chrome avec --disable-web-security
.
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
, il vient de faire le focus de la fenêtre chrome existante, rien d'autre?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(Vous devrez peut-être créer le dossier temporaire en premier)
Pour Windows :
Exécutez la commande suivante:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Pour Mac :
Exécutez la commande suivante:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Un nouveau navigateur Chrome désactivé pour la sécurité Web devrait s'ouvrir avec le message suivant:
Run
.
Pour les utilisateurs de Windows avec les versions Chrome 60.0.3112.78 (le jour où la solution a été testée et travaillée) et au moins jusqu'à aujourd'hui 19.01.2019 (ver. 71.0.3578.98) . Vous n'avez pas besoin de fermer d'instance Chrome.
ATTENTION À NE PAS UTILISER CETTE INSTANCE DE NAVIGATION PARTICULIÈRE POUR NAVIGUER PARCE QUE VOUS POUVEZ ÊTRE HACKED AVEC ELLE!
EDIT 3: Semble que l'extension n'existe plus ... Normalement, pour contourner CORS ces jours-ci, j'ai configuré une autre version de Chrome avec un répertoire séparé ou j'utilise Firefox avec https://addons.mozilla.org/en-US/ firefox / addon / cors-partout / à la place.
EDIT 2: Je ne peux plus faire fonctionner cela de manière cohérente.
EDIT: J'ai essayé d'utiliser le juste l'autre jour pour un autre projet et il a cessé de fonctionner. La désinstallation et la réinstallation de l'extension l'ont corrigé (pour réinitialiser les paramètres par défaut).
Réponse originale:
Je ne voulais pas redémarrer Chrome et désactiver ma sécurité Web (car je naviguais pendant le développement) et suis tombé sur cette extension Chrome.
Fondamentalement, c'est un petit interrupteur à bascule pour activer et désactiver la vérification Allow-Access-Origin-Control. Fonctionne parfaitement pour moi pour ce que je fais.
--disable-web-security
commutateur dans ce cas.
--allow-file-access-from-files
au lieu de désactiver toute la sécurité Web.
Il semble qu'aucune des solutions ci-dessus ne fonctionne réellement. le --disable-web-sécurité n'est plus prise en charge dans les dernières versions de chrome.
Allow-Control-Allow-Origin: * - l'extension chrome a partiellement résolu le problème. Cela ne fonctionne que si votre demande utilise la méthode GET et qu'il n'y a pas d'en-tête HTTP personnalisé. Sinon, Chrome enverra une requête HTTP OPTIONS en tant que requête préalable au vol. Si le serveur ne prend pas en charge CORS, il répondra avec un code d'état HTTP 404. Le plugin ne peut pas modifier le code d'état HTTP de réponse. Chrome rejettera donc cette demande. Il n'y a aucun moyen pour le plugin Chrome de modifier le code d'état HTTP de réponse basé sur l'API d'extension Chrome actuelle. Et vous ne pouvez pas faire de redirection également pour une demande initiée par XHR.
Je ne sais pas pourquoi Chrome rend la vie des développeurs si difficile. Il bloque toutes les façons possibles de désactiver le contrôle de sécurité XSS même pour une utilisation en développement, ce qui est totalement inutile.
Après des jours de lutte et de recherche, une solution me convient parfaitement: utiliser le corsproxy . Vous avez deux options ici: 1. utilisez [ https://cors-anywhere.herokuapp.com/] 2. installez corsproxy dans la boîte locale: npm install -g corsproxy
[Mis à jour le 23 juin 2018] Récemment, je développe une application SPA qui doit à nouveau utiliser corsproxy. Mais il semble qu'aucun des corsproxy sur le github ne puisse répondre à mes exigences.
Je décide donc de développer ma propre version de corsproxy avec nodejs. C'est en fait très simple. Je l'ai publié en tant qu'essentiel sur le github. Voici l'essentiel du code source: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Pour démarrer le serveur CORSProxy (port http 8080): nœud static_server.js 8080
pour accéder au proxy: http: // host: 8080 / http: //www.somesite.com
Pour Windows ... créez un raccourci Chrome sur votre bureau.
Cliquez avec le bouton droit sur> propriétés> Raccourci
Modifier le chemin "cible":
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
(Remplacez le 'C: .... \ chrome.exe' par l'emplacement de votre chrome).
et voilà :)
Essayez cette commande sur le terminal Mac-
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
Il ouvre une autre instance de chrome avec une sécurité désactivée et il n'y a plus de problème CORS. De plus, vous n'avez plus besoin de fermer d'autres instances Chrome. Remplacez l'URL de l'hôte local par celle de votre.
Je trouve que la meilleure façon de le faire est de dupliquer un raccourci Chrome ou Chrome Canary sur votre bureau Windows. Renommez ce raccourci en "NO CORS" puis modifiez les propriétés de ce raccourci.
dans la cible, ajoutez --disable-web-security --user-data-dir="D:/Chrome"
à la fin du chemin cible.
votre cible devrait ressembler à ceci:
Mise à jour: nouveaux drapeaux ajoutés.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
en utilisant la dernière version actuelle de Chrome (83.0.4103.61 (version officielle) (64 bits)), la seule façon de le faire fonctionner dans mon test était de démarrer Chrome en utilisant les drapeaux ci-dessous (modifiez le D: \ temp à votre convenance) . Cette solution démarrera Chrome comme un bac à sable pour les tests et n'affectera pas le profil principal de Chrome:
--disable-site-isolation-trial --disable-web-security --user-data-dir = "D: \ temp"
dans Windows, cliquez sur le bouton Démarrer puis copiez-collez ce qui suit:
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
sur la run
fenêtre sur les fenêtres 10. Merci beaucoup.
Vous pouvez utiliser ce plugin Chrome appelé "Allow-Control-Allow-Origin: *" ... Il en fait un simple mort et fonctionne très bien. vérifiez-le ici: *
Pour Selenium Webdriver, vous pouvez faire démarrer sélénium Chrome avec les arguments appropriés (ou «commutateurs») dans ce cas.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Ce plugin Chrome fonctionne pour moi: Allow-Control-Allow-Origin: * - Chrome Web Store
Ne fais pas ça! Vous ouvrez vos comptes aux attaques . Une fois que vous faites cela, tout site tiers peut commencer à émettre des demandes vers d'autres sites Web, les sites auxquels vous êtes connecté.
Exécutez plutôt un serveur local. C'est aussi simple que d'ouvrir un shell / terminal / ligne de commande et de taper
cd path/to/files
python -m SimpleHTTPServer
Puis en pointant votre navigateur vers
http://localhost:8000
Si vous trouvez que c'est trop lent, envisagez cette solution
Les gens qui votent pour cette réponse devraient aller ici et voter aussi pour celle-ci pour être cohérent. Je ne sais pas pourquoi ma réponse est si dévaluée et la même réponse ici est la réponse la plus votée.
Vous êtes vous - même ouverture aux attaques. Chaque script tiers que vous incluez sur votre site à distance ou localement comme via npm peut désormais télécharger vos données ou voler vos informations d'identification. Vous faites quelque chose que vous n'avez pas besoin de faire. La solution suggérée n'est pas difficile, prend 30 secondes, ne vous laisse pas ouvert d'attaque. Pourquoi choisiriez-vous de vous rendre vulnérable alors que la meilleure chose à faire est si simple?
Dire aux gens de désactiver la sécurité, c'est comme dire à vos amis de laisser leur porte d'entrée déverrouillée et / ou une clé sous le paillasson. Bien sûr, les chances peuvent être faibles, mais si elles sont cambriolées, sans preuve d'entrée forcée, elles pourraient avoir du mal à obtenir une assurance. De même, si vous désactivez la sécurité, vous ne faites que désactiver sécurité . Il est irresponsable de le faire lorsque vous pouvez résoudre le problème si simplement sans désactiver la sécurité. Je serais surpris si vous ne pouviez pas être renvoyé contre certaines entreprises pour avoir désactivé la sécurité.
Vous pouvez simplement utiliser cette extension chrome Allow-Control-Allow-Origin
cliquez simplement sur l'icône de l'extension pour activer ou désactiver le partage entre les ressources comme vous le souhaitez
POUR UTILISATEUR MAC UNIQUEMENT
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Sur Windows 10, ce qui suit fonctionnera.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Suite à la réponse d'Ola Karlsson, la meilleure façon serait en effet d'ouvrir le Chrome dangereux dans une session différente. De cette façon, vous n'avez pas à vous soucier de la fermeture de tous les onglets actuellement ouverts et vous pouvez également continuer à surfer sur le Web en toute sécurité avec la session Chrome d'origine.
Ces fichiers batch devraient simplement fonctionner pour vous sous Windows.
Mettez-le dans un fichier Chrome_CORS.bat pour une utilisation facile
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
Celui-ci est pour Chrome Canary . Canary_CORS.bat
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
Sous Linux-Ubuntu, pour exécuter simultanément une session normale et une session non sécurisée, exécutez la commande suivante:
google-chrome --user-data-dir=/tmp --disable-web-security
pour les utilisateurs de mac:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
et avant Chrome 48, vous pouviez simplement utiliser:
open -a "Google Chrome" --args --disable-web-security
Il existe une extension Chrome appelée CORS Toggle.
Cliquez ici pour y accéder et l'ajouter à Chrome .
Après l'avoir ajouté, basculez-le en position on pour autoriser les requêtes interdomaines.
c'est une cible en constante évolution .... aujourd'hui, je devais ajouter un autre indicateur pour le faire fonctionner:
--disable-site-isolation-trials
OS X:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
Pour les fenêtres:
(sous Windows 8.1, chrome 44.0 )
Tout d'abord, fermez Google Chrome.
Ensuite, ouvrez l'invite de commande et accédez au dossier où se trouve «chrome.exe».
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
Donc , type I:
cd C:\Program Files (x86)\Google\Chrome\Application
)
tapez maintenant: chrome.exe --disable-web-security
une nouvelle fenêtre de chrome s'ouvrira.
Utilisé ci-dessous la commande dans Ubuntu pour démarrer Chrome (désactiver la même politique d'origine et ouvrir Chrome en mode détaché):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Sous Windows:
1) Créez un nouveau raccourci:
2) Collez le chemin suivant:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="c:\temp\chrome"
3) Dans la page suivante, tapez:
Unsafe Chrome.exe
Maintenant, vous avez un chrome dangereux sur le bureau à utiliser pour le débogage des applications CORS. J'espère que cette réponse graphique aidera certaines personnes!
Essayez d'accéder à cette page et de désactiver la stratégie de sécurité du domaine pour le domaine de votre site Web.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.