it-swarm.asia

تعطيل سياسة المنشأ نفسها في Chrome

هل هناك أي طريقة لتعطيل سياسة نفس الأصل على Google Chrome browser؟

1308
Landon Kuhn

أغلق chrome (أو chromium) وأعد تشغيله باستخدام الوسيطة --disable-web-security. لقد قمت للتو باختبار هذا والتحقق من أنه يمكنني الوصول إلى محتويات iframe باستخدام src = "http://google.com" مضمن في صفحة يتم تقديمها من "localhost" (تم اختباره تحت chromium 5/ubuntu). بالنسبة لي كان الأمر الدقيق هو:

ملاحظة: قتل جميع حالات الكروم قبل تشغيل الأمر

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

سوف يحذرك المتصفح من "أنك تستخدم سطر أوامر غير مدعوم" عند فتحه لأول مرة ، والذي يمكنك تجاهله.

من مصدر الكروم:

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

قبل Chrome 48 ، يمكنك فقط استخدام:

chromium-browser --disable-web-security
895
Dagg Nabbit

نعم. بالنسبة إلى OSX ، افتح "المحطة الطرفية" وقم بتشغيل:

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

- user-data-dir مطلوب على Chrome 49+ على OSX

لتشغيل Linux:

$ google-chrome --disable-web-security

أيضًا إذا كنت تحاول الوصول إلى الملفات المحلية لأغراض التطوير مثل AJAX أو JSON ، يمكنك استخدام هذه العلامة أيضًا.

-–allow-file-access-from-files

بالنسبة لنظام Windows ، انتقل إلى الأمر "موجه" ثم انتقل إلى المجلد حيث يوجد Chrome.exe واكتبه

chrome.exe --disable-web-security

يجب أن يعطل نفس سياسة المنشأ ويسمح لك بالوصول إلى الملفات المحلية.

التحديث: بالنسبة إلى Chrome 22+ ، ستظهر لك رسالة خطأ تقول:

أنت تستخدم علامة سطر أوامر غير مدعومة: - تعطيل أمان الويب. سوف الاستقرار والأمن تعاني.

ومع ذلك يمكنك فقط تجاهل هذه الرسالة أثناء التطوير.

1006
ectype

لمستخدمي ويندوز:

المشكلة في الحل المقبول هنا ، في رأيي هي أنه إذا كان لديك Chrome مفتوح بالفعل ومحاولة تشغيله ، فلن ينجح.

ومع ذلك ، عند البحث في هذا ، صادفت منشورًا على Super User ،هل من الممكن تشغيل Chrome مع أمان الويب وبدونه في نفس الوقت؟.

بشكل أساسي ، من خلال تشغيل الأمر التالي (أو إنشاء اختصار به وفتح Chrome من خلال ذلك)

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

يمكنك فتح مثيل جديد "غير آمن" من Chrome في نفس الوقت الذي تبقي فيه مثيلات المتصفح "الآمنة" الأخرى مفتوحة وتعمل بشكل طبيعي. مهم : حذف/مسح مجلد C:/Chrome dev session في كل مرة عندما تفتح فيها نافذة كمرة ثانية --disable-web-security لن تعمل. لذلك لا يمكنك حفظ التغييرات الخاصة بك ثم فتحها مرة أخرى كنسخة ثانية غير آمنة من Chrome مع --disable-web-security.

448
Ola Karlsson

من أجل Windows :

  1. افتح قائمة البداية
  2. نوع windows+R أو افتح "Run"
  3. قم بتنفيذ الأمر التالي:

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

من أجل Mac :

  1. الذهاب إلى المحطة الطرفية
  2. قم بتنفيذ الأمر التالي:

    open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
    

يجب فتح متصفح chrome معطل لأمان الويب مع الرسالة التالية:

enter image description here

113
GSB

لم أرغب في إعادة تشغيل Chrome وتعطيل أمان الويب (لأنني كنت أتصفح أثناء التطوير) وتعثرت على امتداد Chrome هذا.

سوق Chrome الإلكتروني السماح بالتحكم في المنشأ: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi؟hl=ar)

بشكل أساسي ، يكون هناك مفتاح تبديل صغير للتبديل بين ميزة "السماح بالوصول المنشأ والتحكم". يعمل تماما بالنسبة لي على ما أفعله.

تحرير: لقد حاولت استخدام اليوم الآخر لمشروع آخر وتوقف عن العمل. إلغاء تثبيت وإعادة تثبيت الملحق إصلاحه (لإعادة تعيين الإعدادات الافتراضية).

تحرير 2: لم يعد بإمكاني الحصول على هذا العمل باستمرار

72
Coburn

بالنسبة لـ windows المستخدمين الذين لديهم إصدارات Chrome 60.0.3112.78 (اليوم الذي تم فيه اختبار الحل وعمله) وعلى الأقل حتى اليوم 19.01.2019 (الإصدار 71.0.3578.98) . أنت لا تحتاج إلى إغلاق أي مثيل كروم.

  1. إنشاء اختصار على سطح المكتب الخاص بك
  2. انقر بزر الماوس الأيمن فوق الاختصار وانقر فوق "خصائص"
  3. تحرير خاصية الهدف
  4. اضبطه على "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" - قابل لتعيين أمان الويب --user-data-dir = "C:/ChromeDevSession"
  5. ابدأ تشغيل chrome و تجاهل الرسالة التي تقول - disable-web-security غير مدعوم!

احذر من عدم استخدام هذا المتصفح الخاص بالخصائص المحددة للتصفح لأنك يمكن أن تتعرض للاختراق!

57
Ognyan Dimitrov

يبدو أن أي من الحلول المذكورة أعلاه تعمل بالفعل. - disable-web-security لم يعد معتمدًا في الإصدارات الحديثة من Chrome.

السماح بالتحكم في المنشأ: * - تمديد الكروم حل المشكلة جزئيًا. لا يعمل إلا إذا كان طلبك يستخدم طريقة GET ولا يوجد رأس HTTP مخصص. خلاف ذلك ، سيرسل Chrome طلب HTTP OPTIONS كطلب قبل الرحلة. إذا كان الخادم لا يدعم CORS ، فسيتم الرد برمز حالة HTTP 404. لا يمكن للمكون الإضافي تعديل رمز حالة HTTP للاستجابة. لذلك سيرفض Chrome هذا الطلب. لا توجد طريقة لإضافات chrome الإضافية لتعديل استجابة رمز حالة HTTP بناءً على واجهة برمجة تطبيقات تمديد chrome الحالية. ولا يمكنك القيام بإعادة توجيه لطلب XHR الذي تم البدء فيه.

لست متأكدًا من السبب الذي يجعل Chrome يجعل حياة المطورين صعبة للغاية. إنه يمنع جميع الطرق الممكنة لتعطيل فحص أمان XSS حتى لاستخدام التطوير وهو أمر غير ضروري على الإطلاق.

بعد أيام من الكفاح والبحث ، حل واحد يناسبني تمامًا: لاستخدام corsproxy . لديك خياران هنا: 1. استخدم [ https://cors-anywhere.herokuapp.com/] 2. قم بتثبيت corsproxy في المربع المحلي: npm install -g corsproxy

[تم التحديث في 23 يونيو 2018] في الآونة الأخيرة أقوم بتطوير تطبيق SPA الذي يحتاج إلى استخدام corsproxy مرة أخرى. ولكن يبدو أن أيا من corsproxy على جيثب يمكن أن يفي بمتطلباتي.

  • في حاجة إليها لتشغيل داخل جدار الحماية لأسباب أمنية. لذلك لا يمكنني استخدام https://cors-anywhere.herokuapp.com/ .
  • يجب أن يدعم https حيث أن Chrome سوف يحظر طلب ajax بدون https في صفحة https.
  • أحتاج إلى تشغيل على nodejs. لا أريد الاحتفاظ بمجموعة لغة أخرى.

لذلك قررت تطوير الإصدار الخاص بي من corsproxy مع nodejs. انها في الواقع بسيطة جدا. لقد نشرته كجهاز على جيثب. إليك شفرة المصدر Gist: https://Gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • في رمز nodejs عادي دون أي تبعيات إضافية
  • يمكنك تشغيل في وضع http و https (عن طريق تمرير رقم منفذ https في سطر الأوامر) ، لتشغيل https ، تحتاج إلى إنشاء cert ومفتاح ووضعها في دليل webroot.
  • كما أنه يعمل كخادم ملفات ثابت
  • وهو يدعم طلب خيار ما قبل الرحلة أيضًا.

لبدء خادم CORSProxy (منفذ HTTP 8080): العقدة static_server.js 8080

للوصول إلى الوكيل: http: // Host: 8080/http: //www.somesite.com

46
Jianwu Chen

لنظام Windows ... قم بإنشاء اختصار Chrome على سطح المكتب.
انقر بزر الماوس الأيمن> الخصائص> اختصار
تحرير المسار "الهدف":

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

(قم بتغيير "C: ....\chrome.exe" إلى أي مكان يوجد به chrome).

et voilà :)

41
molokoloco

أجد أن أفضل طريقة للقيام بذلك هي تكرار اختصار Chrome أو Chrome Canary على سطح مكتب Windows. أعد تسمية هذا الاختصار إلى "NO CORS" ثم قم بتحرير خصائص هذا الاختصار.

في الهدف ، أضف --disable-web-security --user-data-dir="D:/Chrome" إلى نهاية المسار الهدف.

يجب أن يبدو هدفك كالتالي:

تحديث: أضيفت أعلام جديدة.

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"

 enter image description here

35
etoxin

جرب هذا الأمر على Mac terminal-

open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security 

يفتح مثيل آخر من Chrome مع أمان معطل ولم تعد هناك مشكلة في CORS. أيضًا ، لا تحتاج إلى إغلاق مثيلات الكروم الأخرى بعد الآن. تغيير عنوان URL الخاص بالمضيف المحلي إلى عنوان URL الخاص بك.

31
Vivek Sinha

يمكنك استخدام هذا المكون الإضافي chrome المسمى "Allow-Control-Allow-Origin: *" ... إنه يجعل الأمر بسيطًا ويعمل بشكل جيد جدًا. التحقق من ذلك هنا: *

 Chrome extenstion

20
Mohamed Saleh

بالنسبة إلى Selenium Webdriver ، يمكنك جعل Selenium يقوم بتشغيل Chrome باستخدام الوسائط المناسبة (أو "التبديل") في هذه الحالة.

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })
18
mikelupo

إذا كنت تستخدم Google Chrome على نظام Linux ، فسيتبعك الأمر التالي.

google-chrome  --disable-web-security
13
chhantyal
12
Bruce
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
9
MechaCode

في نظام التشغيل Windows 10 ، يعمل التالي.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-Origin-auth-Prompt
8
ItsAllABadJoke

لمستخدم MAC فقط

open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
8
Saurabh Chandra Patel

يمكنك ببساطة استخدام امتداد chrome السماح بالتحكم في المنشأ

فقط انقر على أيقونة extensnion لتشغيل تمكين تبادل الموارد أو تشغيله كما تريد

8
Peter Wilson

متابعة لإجابة Ola Karlsson ، فإن أفضل طريقة هي فتح Chrome غير الآمن في جلسة مختلفة. وبهذه الطريقة ، لا داعي للقلق بشأن إغلاق جميع علامات التبويب المفتوحة حاليًا ، ويمكنك أيضًا متابعة تصفح الويب بأمان باستخدام جلسة Chrome الأصلية.

يجب أن تعمل هذه الملفات الدفعية من أجلك على Windows فقط.

ضعه في ملف Chrome_CORS.bat لسهولة الاستخدام

start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security

هذا واحد لـ 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
7
guya

هناك امتداد Chrome يسمى CORS Toggle.

انقر هنا للوصول إليه وإضافته إلى Chrome .

بعد إضافته ، قم بتبديله إلى on الموضع للسماح لطلبات المجال المشترك.

6
Mowzer

لمستخدمي ماك:

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

وقبل Chrome 48 ، يمكنك فقط استخدام:

open -a "Google Chrome" --args --disable-web-security
6
Braian Mellor

على Linux- Ubuntu ، لتشغيل جلسة عادية وجلسة غير آمنة في نفس الوقت ، قم بتشغيل الأمر التالي:

google-chrome  --user-data-dir=/tmp --disable-web-security
4
Santiago M. Quintero

هذا هدف متحرك دائمًا .... واليوم كنت بحاجة لإضافة علم آخر للحصول على عمل: --disable-site-isolation-trials

نظام التشغيل X: open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials

4
denodster

باستخدام أحدث إصدارات chrome الحالية (73.0.3683.86) ، كانت الطريقة الوحيدة لإنجاحها في اختباري هي بدء تشغيل chrome باستخدام الإشارات أدناه (تغيير D:\temp حسب رغبتك ):

- تخصيص موقع العزل - تجارب - تعطيل أمان الويب - userer-data-dir = "D:\temp"

في نظام التشغيل windows ، انقر فوق الزر "ابدأ" ثم انسخ الصق أدناه:

chrome.exe  --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
4
user2576266

للنوافذ:

(باستخدام windows 8.1 ، chrome 44.0 )

أولا ، أغلق جوجل كروم.

بعد ذلك ، افتح موجه الأوامر وانتقل إلى المجلد حيث يوجد "chrome.exe".

( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".

لذلك أنا اكتب: cd C:\Program Files (x86)\Google\Chrome\Application)

اكتب الآن: chrome.exe --disable-web-security

سيتم فتح نافذة جديدة من الكروم.

3
Fuad Ahmad

لا تفعل هذا! أنت تفتح حساباتك أمام الهجمات . بمجرد القيام بذلك ، يمكن لأي موقع تابع لجهة خارجية البدء في إصدار طلبات إلى مواقع ويب أخرى ، وهي المواقع التي قمت بتسجيل الدخول إليها.

بدلاً من ذلك قم بتشغيل خادم محلي. إنها عملية سهلة مثل فتح سطر/Shell/commandline والكتابة

cd path/to/files
python -m SimpleHTTPServer

ثم مشيرا إلى متصفحك

http://localhost:8000

إذا وجدت أنها بطيئة جدًا ضع في اعتبارك هذا الحل

2
gman

على جهاز كمبيوتر يعمل بنظام Windows ، استخدم إصدارًا أقدم من Chrome وسيعمل الأمر مع جميع اللاعبين. لقد خفضت إصدار Chrome ليصبح 26 إصدارًا وقد نجحت.

1
user1578524

أستخدم هذا في بعض الأحيان ، لنشر موقع الواجهة المحلية لـ hosthost إلى واجهة برمجة تطبيقات الواجهة المحلية لـ hosthost (على سبيل المثال ، الرد على واجهة برمجة تطبيقات .NET قديمة). لقد قمت بإنشاء اختصار منفصل على سطح مكتب Windows 10 الخاص بي ، بحيث لا يتم استخدامه أبدًا للتصفح العادي ، فقط للتصحيح محليًا. فعلت ما يلي: -

  1. انقر بزر الماوس الأيمن على سطح المكتب ، أضف اختصارًا جديدًا
  2. أضف الهدف كـ "[PATH_TO_CHROME]\chrome.exe" --disable-web-security
  3. انقر فوق موافق.

سوف تتلقى تحذيرًا عند تحميل هذا المتصفح ، أنه غير آمن ، ما عليك سوى الانتباه إلى ما تتصفحه عليه. أميل إلى إعادة تسمية هذا الاختصار الجديد على سطح المكتب ، وهو شيء في رأس المال ، ونقله بعيدًا عن الرموز الأخرى ، لذلك لا يمكن الخلط بينه وبين Chrome العادي.

أتمنى أن يساعدك هذا!

0
Mike Upjohn

حاول الانتقال إلى هذه الصفحة وتعطيل سياسة أمان المجال لنطاق موقع الويب الخاص بك.

chrome://net-internals/#hsts
0
Rahul Malu