มีวิธีใดบ้างที่จะปิดการใช้งานนโยบายแหล่งกำเนิดเดียวกันบนเบราว์เซอร์Chromeของ Google ?
peter.sh
หน้าดังนั้นจะต้องถูกต้องตามกฎหมาย
--disable-web-security --user-data-dir
มีวิธีใดบ้างที่จะปิดการใช้งานนโยบายแหล่งกำเนิดเดียวกันบนเบราว์เซอร์Chromeของ Google ?
peter.sh
หน้าดังนั้นจะต้องถูกต้องตามกฎหมาย
--disable-web-security --user-data-dir
คำตอบ:
ปิด chrome (หรือโครเมียม) แล้วเริ่มต้นใหม่ด้วย--disable-web-security
อาร์กิวเมนต์ ฉันเพิ่งทดสอบสิ่งนี้และตรวจสอบแล้วว่าฉันสามารถเข้าถึงเนื้อหาของ iframe ด้วย src = "http://google.co.th" ซึ่งฝังอยู่ในหน้าที่เสิร์ฟจาก "localhost" (ทดสอบภายใต้โครเมียม 5 / Ubuntu) สำหรับฉันคำสั่งที่แน่นอนคือ:
หมายเหตุ: ทำลาย instance ของ chrome ทั้งหมดก่อนที่จะรันคำสั่ง
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
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
เช่นกัน
อ๋อ สำหรับ OSX ให้เปิด Terminal และเรียกใช้:
$ open -a Google\ Chrome --args --disable-web-security --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+ คุณจะได้รับข้อความแสดงข้อผิดพลาดที่แจ้งว่า:
คุณกำลังใช้การตั้งค่าสถานะบรรทัดคำสั่งที่ไม่สนับสนุน: - ปิดการใช้งานเว็บความปลอดภัย ความมั่นคงและความปลอดภัยจะประสบ
อย่างไรก็ตามคุณสามารถละเว้นข้อความนั้นขณะที่กำลังพัฒนา
--disable-web-security
--user-data-dir
คือ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
OSX
open -n
คุณสามารถใช้ open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
ทำงานเพียงแค่ สิ่งนี้จะเปิดอินสแตนซ์แอป Chrome ที่สองบน mac ของคุณและคุณสามารถใช้งานควบคู่กันได้
สำหรับผู้ใช้ Windows:
ปัญหาเกี่ยวกับวิธีการแก้ปัญหาที่ยอมรับได้ที่นี่ในความคิดของฉันคือถ้าคุณเปิด 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
ด้วย
"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"
มันแค่ทำให้หน้าต่างโครเมี่ยมที่มีอยู่ได้รับความสนใจ
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(คุณอาจต้องสร้างโฟลเดอร์ temp ก่อน)
สำหรับWindows :
ดำเนินการคำสั่งต่อไปนี้:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
สำหรับMac :
ดำเนินการคำสั่งต่อไปนี้:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
เบราว์เซอร์ chrome ปิดใช้งานความปลอดภัยเว็บใหม่ควรเปิดด้วยข้อความต่อไปนี้:
Run
แต่ก็กล่าวว่าจะรันบนบรรทัดคำสั่งแทนของหน้าต่าง
สำหรับหน้าต่างผู้ใช้ที่มีรุ่น Chrome 60.0.3112.78 (วันแก้ปัญหาได้รับการทดสอบและทำงาน) และอย่างน้อยจนถึงวันนี้ 2019/01/19 (Ver. 71.0.3578.98) คุณไม่จำเป็นต้องปิดอินสแตนซ์ของ Chrome
ระวังที่จะไม่ใช้เบราว์เซอร์นี้โดยเฉพาะในการเบราว์เซอร์เพราะคุณสามารถแฮ็คมันได้!
แก้ไข 3: ดูเหมือนว่าไม่มีส่วนขยายอีกต่อไป ...โดยปกติแล้วจะได้รับ CORS วันนี้ฉันตั้งค่า Chrome เวอร์ชันอื่นด้วยไดเรกทอรีแยกต่างหากหรือฉันใช้ Firefox ด้วยhttps://addons.mozilla.org/en-US/ firefox / addon / cors -where /แทน
แก้ไข 2: ฉันไม่สามารถทำงานนี้ได้อีกต่อไป
แก้ไข: ฉันพยายามใช้เพียงวันก่อนสำหรับโครงการอื่นและหยุดทำงาน การถอนการติดตั้งและการติดตั้งส่วนขยายได้รับการแก้ไขอีกครั้ง (เพื่อรีเซ็ตค่าเริ่มต้น)
คำตอบเดิม:
ฉันไม่ต้องการรีสตาร์ท Chrome และปิดการใช้งานความปลอดภัยบนเว็บของฉัน (เพราะฉันกำลังท่องเว็บในขณะที่กำลังพัฒนา) และสะดุดกับส่วนขยาย Chrome นี้
โดยพื้นฐานแล้วมันเป็นเพียงสวิตช์สลับเล็กน้อยเพื่อสลับการเปิดและปิดการตรวจสอบ Allow-Access-Origin-Control ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันในสิ่งที่ฉันทำ
--disable-web-security
สวิตช์ในกรณีนั้น
--allow-file-access-from-files
แทนการปิดการใช้งานความปลอดภัยของเว็บทั้งหมด
ดูเหมือนว่าวิธีการแก้ปัญหาข้างต้นใช้งานไม่ได้จริง ๆ เว็บการรักษาความปลอดภัย --disableไม่สนับสนุนในรุ่นโครเมี่ยมล่าสุด
Allow-Control-Allow-Origin: * - ส่วนขยายของ Chromeแก้ไขปัญหาบางส่วน มันจะทำงานเฉพาะในกรณีที่คำขอของคุณใช้วิธีการ GET และไม่มีส่วนหัว HTTP ที่กำหนดเอง มิฉะนั้นโครเมี่ยมจะส่งคำขอ HTTP ของ OPTIONS เป็นคำขอล่วงหน้า หากเซิร์ฟเวอร์ไม่รองรับ CORS เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ 404 HTTP ปลั๊กอินไม่สามารถแก้ไขรหัสสถานะ HTTP ตอบกลับได้ ดังนั้น Chrome จะปฏิเสธคำขอนี้ ไม่มีวิธีสำหรับปลั๊กอิน Chrome เพื่อแก้ไขรหัสสถานะ HTTP การตอบสนองตาม API ส่วนขยาย Chrome ปัจจุบัน และคุณไม่สามารถทำการเปลี่ยนเส้นทางได้เช่นกันสำหรับคำขอเริ่มต้น XHR
ไม่แน่ใจว่าทำไม Chrome ทำให้ชีวิตของนักพัฒนาซอฟต์แวร์ยากมาก มันบล็อกวิธีที่เป็นไปได้ทั้งหมดเพื่อปิดการใช้งานการตรวจสอบความปลอดภัย XSS แม้สำหรับการพัฒนาที่ไม่จำเป็นทั้งหมด
วันหลังจากการต่อสู้และการวิจัยหนึ่งในการแก้ปัญหาการทำงานอย่างสมบูรณ์สำหรับฉัน: ใช้corsproxy คุณมีสองตัวเลือกที่นี่: 1. ใช้ [ https://cors-anywhere.herokuapp.com/] 2. ติดตั้ง corsproxy ในกล่องท้องถิ่น: npm install -g corsproxy
[อัพเดทเมื่อวันที่ 23 มิ.ย. 2018]เมื่อเร็ว ๆ นี้ฉันกำลังพัฒนาแอพ SPA ที่ต้องใช้ corsproxy อีกครั้ง แต่ดูเหมือนว่าไม่มี corsproxy บน GitHub สามารถตอบสนองความต้องการของฉัน
ดังนั้นฉันจึงตัดสินใจพัฒนา corsproxy เวอร์ชันของตัวเองกับ nodejs จริงๆแล้วมันง่ายมาก ฉันได้เผยแพร่มันเป็นส่วนสำคัญใน GitHub นี่คือส่วนสำคัญของรหัสที่มา: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
ในการเริ่มต้นเซิร์ฟเวอร์ CORSProxy (http พอร์ต 8080): node static_server.js 8080
เพื่อเข้าถึงพร็อกซี: http: // host: 8080 / http: //www.somesite.com
สำหรับ Windows ... สร้างทางลัด Chrome บนเดสก์ท็อปของคุณ
คลิกขวา> คุณสมบัติ>
เส้นทางลัดแก้ไข "เป้าหมาย":
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
(เปลี่ยน 'C: .... \ chrome.exe' เป็นที่ตั้งของ chrome ของคุณ)
et voilà :)
ลองคำสั่งนี้ใน terminal Mac-
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
มันเปิดอีกตัวอย่างหนึ่งของโครเมี่ยมที่ปิดใช้งานความปลอดภัยและไม่มีปัญหา CORS อีกต่อไป นอกจากนี้คุณไม่จำเป็นต้องปิดอินสแตนซ์ของ Chrome อีกต่อไป เปลี่ยน localhost URL เป็น URL ของคุณ
ฉันพบวิธีที่ดีที่สุดในการทำเช่นนี้คือทำซ้ำทางลัด 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"
ใช้รุ่นล่าสุดของ Chrome ปัจจุบัน (83.0.4103.61 (Official Build) (64 บิต)) วิธีเดียวที่จะทำให้มันทำงานในการทดสอบของฉันคือการเริ่ม chrome โดยใช้ค่าสถานะด้านล่าง (เปลี่ยนD: \ temp ตามที่คุณต้องการ) . วิธีการแก้ปัญหานี้จะเริ่มต้นด้วยโครเมียมเป็นกล่องทดลองสำหรับการทดสอบและจะไม่ส่งผลกระทบต่อโปรไฟล์โครเมี่ยมหลัก:
- ปิดการใช้งานเว็บไซต์แยกการทดลอง - ปิดการใช้งานเว็บการรักษาความปลอดภัย - ผู้ใช้ข้อมูล -dir = "D: \ temp"
ใน windows คลิกปุ่มเริ่มแล้วคัดลอกวางด้านล่าง:
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"
บนrun
หน้าต่างบน windows 10 ขอบคุณมาก
คุณสามารถใช้ปลั๊กอินโครเมี่ยมนี้ที่ชื่อว่า "Allow-Control-Allow-Origin: *" ... ทำให้มันง่ายและใช้งานได้ดีมาก ตรวจสอบที่นี่: *
สำหรับ Selenium Webdriver คุณสามารถให้ซีลีเนียมเริ่มต้น Chrome ด้วยอาร์กิวเมนต์ที่เหมาะสม (หรือ "สวิตช์") ในกรณีนี้
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
หากคุณใช้ Google Chrome บน Linux คำสั่งต่อไปนี้ใช้งานได้
google-chrome --disable-web-security
ปลั๊กอิน Chrome นี้ใช้งานได้สำหรับฉัน: Allow-Control-Allow-Origin: * - Chrome Web Store
อย่าทำอย่างนี้! คุณเปิดบัญชีของคุณเพื่อโจมตี เมื่อคุณทำเช่นนี้ไซต์บุคคลที่สามใด ๆ สามารถเริ่มต้นการร้องขอไปยังเว็บไซต์อื่น ๆ ไซต์ที่คุณเข้าสู่ระบบ
แทนที่จะเรียกใช้เซิร์ฟเวอร์ท้องถิ่น ง่ายเหมือนการเปิดเชลล์ / เทอร์มินัล / commandline แล้วพิมพ์
cd path/to/files
python -m SimpleHTTPServer
จากนั้นชี้เบราว์เซอร์ของคุณไปที่
http://localhost:8000
หากคุณพบว่ามันช้าเกินไปให้พิจารณาโซลูชันนี้
ผู้คน downvoting คำตอบนี้ควรไปที่นี่และdownvote คนนี้ก็เพื่อให้สอดคล้อง ไม่มีความคิดว่าทำไมคำตอบของฉันคือ downvoted มากและคำตอบเดียวกันซ้ำนี่คือด้านบนลงมติคำตอบ
คุณกำลังเปิดตัวเองเพื่อการโจมตี สคริปต์บุคคลที่สามทุกอันที่คุณรวมไว้ในไซต์ของคุณจากระยะไกลหรือในพื้นที่เช่นผ่าน npm สามารถอัปโหลดข้อมูลของคุณหรือขโมยข้อมูลประจำตัวของคุณ คุณกำลังทำสิ่งที่คุณไม่จำเป็นต้องทำ ทางออกที่แนะนำนั้นไม่ยากใช้เวลา 30 วินาทีอย่าปล่อยให้คุณเปิดการโจมตี ทำไมคุณถึงเลือกที่จะทำให้ตัวเองอ่อนแอเมื่อสิ่งที่ดีกว่าที่จะทำนั้นง่ายมาก?
การบอกคนอื่นให้ปิดการใช้งานระบบรักษาความปลอดภัยก็เหมือนกับการบอกให้เพื่อนของคุณออกจากประตูหน้าของพวกเขาเพื่อปลดล็อคและ / หรือกุญแจใต้พรม แน่นอนว่าอัตราต่อรองอาจจะต่ำ แต่ถ้าพวกเขาถูกขโมยโดยไม่ต้องพิสูจน์รายการบังคับพวกเขาอาจมีการเก็บรวบรวมประกันยาก ในทำนองเดียวกันถ้าคุณรักษาความปลอดภัยปิดการใช้งานที่คุณกำลังทำเพียงแค่ว่าการปิดใช้งาน การรักษาความปลอดภัย คุณไม่สามารถทำสิ่งนี้ได้เมื่อคุณสามารถแก้ไขปัญหาได้โดยไม่ต้องปิดระบบความปลอดภัย ฉันจะแปลกใจถ้าคุณไม่สามารถถูกไล่ออกจาก บริษัท บางแห่งเพื่อปิดการใช้งานความปลอดภัย
คุณสามารถใช้ส่วนขยายของโครเมี่ยมนี้อนุญาต - ควบคุม - อนุญาต - กำเนิด
เพียงคลิกที่ไอคอนของส่วนขยายเพื่อเปิดหรือปิดการแชร์ข้ามทรัพยากรตามที่คุณต้องการ
สำหรับผู้ใช้ MAC เท่านั้น
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
ใน Windows 10 ข้อมูลต่อไปนี้จะใช้งานได้
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
การติดตามคำตอบของ 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
บน Linux- Ubuntu เพื่อเรียกใช้เซสชันปกติพร้อมกันและเซสชันที่ไม่ปลอดภัยให้รันคำสั่งต่อไปนี้:
google-chrome --user-data-dir=/tmp --disable-web-security
สำหรับผู้ใช้ mac:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
และก่อน Chrome 48 คุณสามารถใช้:
open -a "Google Chrome" --args --disable-web-security
มีนามสกุล Chrome เรียกว่าสลับเป็น
คลิกที่นี่เพื่อเข้าใช้งานได้และเพิ่มเข้าไปใน Chrome
หลังจากเพิ่มมันสลับไปยังบนตำแหน่งที่จะอนุญาตการร้องขอข้ามโดเมน
สำหรับ OSX ให้รันคำสั่งต่อไปนี้จากเทอร์มินัล:
open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name
นี่จะเป็นการเริ่มต้นอินสแตนซ์ใหม่ของ Google Chrome พร้อมคำเตือนด้านบน
นี่เป็นเป้าหมายที่เคลื่อนไหวตลอดไป .... วันนี้ฉันต้องการเพิ่มธงอื่นเพื่อให้มันทำงาน:
--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
สำหรับ Windows:
(ใช้windows 8.1, chrome 44.0 )
ก่อนอื่นให้ปิด google chrome
จากนั้นให้เปิดพรอมต์คำสั่งแล้วไปที่โฟลเดอร์ที่ '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
หน้าต่างใหม่ของ Chrome จะเปิดขึ้น
ใช้คำสั่งด้านล่างใน Ubuntu เพื่อเริ่ม chrome (ปิดใช้งานนโยบายกำเนิดเดียวกันและเปิด chrome ในโหมดแยกออก):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
บน Windows:
1) สร้างทางลัดใหม่:
2) วางเส้นทางต่อไปนี้:
"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) ในประเภทหน้าถัดไป:
Unsafe Chrome.exe
ตอนนี้คุณมีโครเมียมที่ไม่ปลอดภัยบนเดสก์ท็อปเพื่อใช้สำหรับการดีบักแอปพลิเคชัน CORS หวังว่าคำตอบแบบกราฟิกนี้ช่วยคนบางคน!
ลองไปที่หน้านี้และปิดการใช้งานนโยบายความปลอดภัยของโดเมนสำหรับโดเมนเว็บไซต์ของคุณ
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
ที่หน้านี้ที่ผมเห็นด้านล่าง