Vô hiệu hóa chính sách nguồn gốc tương tự trong Chrome


1572

Có cách nào để vô hiệu hóa chính sách Cùng nguồn gốc trên trình duyệt Chrome của Google không?


1
Xem thêm peter.sh/experiment/chromium-command-line-switches , tôi không chắc về tính xác thực của nó nhưng dường như đó là một bộ sưu tập được sản xuất bởi một quy trình tự động
CSSian

1
chromium.org liên kết đến peter.shtrang, vì vậy phải khá hợp pháp.
Stewineer

2
Lưu ý rằng việc vô hiệu hóa SOP, ngay cả khi chỉ được sử dụng để phát triển, là nguy hiểm. Khi bạn khởi động trình duyệt của mình theo cách này, có lẽ bạn không chỉ sẽ mở ứng dụng của mình mà còn kiểm tra thư của bạn, đọc SO Nhận xét bằng cách sử dụng các lựa chọn thay thế tốt hơn, ví dụ như proxy web, để giải quyết các vấn đề này. Ví dụ qua proxrox: github.com/bripkens/proxrox
BenR

29
Kể từ phiên bản 49, hãy sử dụng tùy chọn này--disable-web-security --user-data-dir
vanduc1102

3
Đối với bất kỳ ai đang tìm kiếm lời khuyên về cách thực hiện việc này trong môi trường nhà phát triển bằng máy chủ chạy bộ, hãy xem điều này: gist.github.com/Vp3n/5340891
GrayedFox

Câu trả lời:


1038

Đóng chrome (hoặc crom) và khởi động lại với --disable-web-securityđối số. Tôi vừa kiểm tra điều này và xác minh rằng tôi có thể truy cập nội dung của iframe với src = "http://google.com" được nhúng trong một trang được phân phát từ "localhost" (được thử nghiệm theo chromium 5 / ub Ubuntu). Đối với tôi lệnh chính xác là:

Lưu ý: Giết tất cả các phiên bản chrome trước khi chạy lệnh

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

Trình duyệt sẽ cảnh báo bạn rằng "bạn đang sử dụng một dòng lệnh không được hỗ trợ" khi lần đầu tiên mở, bạn có thể bỏ qua.

Từ nguồn crom:

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

Trước Chrome 48, bạn chỉ có thể sử dụng:

chromium-browser --disable-web-security

115
Làm thế nào để làm điều này trên OS X?
Landon Kuhn

14
@ Landon9720 xem câu trả lời bằng ectype .
ANeves

8
@Berty Chỉ cần đóng chrome và mở nó mà không cần thẻ. Chrome sẽ chỉ ở chế độ đó nếu được mở bằng thẻ đó
Nick

84
@ Landon9720 Đóng Chrome, mở thiết bị đầu cuối, loạiopen /Applications/Google\ Chrome.app --args --disable-web-security
Seanonymous

17
Trong Chrome 48 và 49 người ta cũng phải thêm --user-data-dir.
Jacob Lauritzen

1070

Vâng. Đối với OSX, mở Terminal và chạy:

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

--user-data-dir được yêu cầu trên Chrome 49+ trên OSX

Đối với Linux chạy:

$ google-chrome --disable-web-security

Ngoài ra nếu bạn đang cố gắng truy cập các tệp cục bộ cho mục đích phát triển như AJAX hoặc JSON, bạn cũng có thể sử dụng cờ này.

-–allow-file-access-from-files

Đối với Windows, hãy vào dấu nhắc lệnh và đi vào thư mục chứa Chrome.exe và nhập

chrome.exe --disable-web-security

Điều đó sẽ vô hiệu hóa chính sách nguồn gốc tương tự và cho phép bạn truy cập các tệp cục bộ.

Cập nhật: Đối với Chrome 22+, bạn sẽ thấy thông báo lỗi cho biết:

Bạn đang sử dụng cờ dòng lệnh không được hỗ trợ: --disable-web-security. Sự ổn định và bảo mật sẽ bị ảnh hưởng.

Tuy nhiên, bạn chỉ có thể bỏ qua tin nhắn đó trong khi phát triển.


7
Chỉ cần thử điều này trên pc (chrome 29) và tôi vẫn nhận được những Origin *** đáng yêu này không được Access cho phép ...
Sam

23
@Sam Hãy chắc chắn rằng bạn đã đóng tất cả các quy trình chrome, sau đó thử lại. Chrome sẽ đưa ra tiêu đề cảnh báo nếu bạn thực hiện đúng: "Bạn đang sử dụng cờ dòng lệnh không được hỗ trợ: --disable-web-security. Ổn định và bảo mật sẽ bị ảnh hưởng"
Morten Haraldsen

2
Có cách nào để ngăn chặn thông báo lỗi xuất hiện không? Tôi đang sử dụng cờ này trên bảng kỹ thuật số mà không cần bàn phím hoặc chuột.
Bart van Heukelom

64
Và rõ ràng bây giờ --disable-web-securitykhông hoạt động trừ khi bạn cũng đưa ra một cách rõ ràng --user-data-dir. tức là OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/.
WiseOldDuck

20
Trước tiên, bạn không phải đóng tất cả các quy trình Chrome. Bạn có thể sử dụng open -n. Đơn giản chỉ cần chạy open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome. Điều này sẽ mở phiên bản ứng dụng Chrome thứ hai trên máy Mac của bạn và bạn có thể sử dụng chúng cạnh nhau.
Pellmeister

520

Đối với người dùng Windows:

Vấn đề với giải pháp được chấp nhận ở đây, theo tôi là nếu bạn đã mở Chrome và thử chạy nó thì nó sẽ không hoạt động.

Tuy nhiên, khi nghiên cứu vấn đề này, tôi đã bắt gặp một bài đăng trên Super User, Có thể chạy Chrome cùng lúc và không có bảo mật web không? .

Về cơ bản, bằng cách chạy lệnh sau (hoặc tạo lối tắt với nó và mở Chrome thông qua đó)

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

bạn có thể mở một phiên bản Chrome "không an toàn" mới cùng lúc với việc bạn giữ các phiên bản trình duyệt "an toàn" khác của mình mở và hoạt động như bình thường. Quan trọng : xóa / xóa C:/Chrome dev sessionthư mục mỗi khi bạn mở cửa sổ vì lần thứ hai --disable-web-securitysẽ không hoạt động. Vì vậy, bạn không thể lưu các thay đổi của mình và sau đó mở lại dưới dạng phiên bản không an toàn thứ hai của Chrome với --disable-web-security.


17
thật sự cảm ơn. nhờ điều này, tôi đã có thể khởi chạy một trang web dưới dạng một ứng dụng độc lập"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
Elvis Ciotti

2
Chính xác những gì tôi cần khi cố gắng phát triển dựa trên API trên máy cục bộ của mình.
Generalopinion 17/03 '

4
Điều này làm việc một điều trị. Nó cũng để lại phiên bản chrome bình thường của tôi với bảo mật được bật và hoạt động bình thường. Chỉ cần một lưu ý phụ khi nó hoạt động, Chrome sẽ thông báo cho bạn rằng "Tính ổn định và bảo mật sẽ bị ảnh hưởng".
etoxin

1
Làm thế nào tôi có thể làm điều này trong máy Mac? Đã thử sử dụng open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData", nó chỉ làm cho cửa sổ chrome hiện tại đạt được trọng tâm, không có gì khác?
dùng3648895

17
Lệnh này hoạt động trong OSX bằng cách bắt đầu phiên bản thứ hai: open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security (Bạn có thể cần tạo thư mục tạm thời trước)
chilltemp

161

Đối với Windows :

  1. Mở menu bắt đầu
  2. Nhập windows+ Rhoặc mở "Chạy"
  3. Thực hiện lệnh sau:

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

Đối với máy Mac :

  1. Đi đến nhà ga
  2. Thực hiện lệnh sau:

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

Một trình duyệt chrome bị vô hiệu hóa bảo mật web mới sẽ mở ra với thông báo sau:

nhập mô tả hình ảnh ở đây


7
@downvoters vui lòng đề cập đến lý do downvote vì không có điểm nào trong downvote trong câu trả lời
GSB

1
Hoạt động tốt với tôi trên Windows 10, cũng không cần phải đóng các phiên bản Chrome khác.
Nick M

Điều này hoạt động trên windows 10. Tôi thấy nó ở một nơi khác nhưng nó nói để chạy nó trên dòng lệnh thay vì các cửa sổ Run.
chidimo

Nó hoạt động tốt, Làm cách nào tôi có thể sử dụng những thứ đó cho IE, Edge!
Jason Brody

cái này hoạt động tốt Tôi đã chịu đựng vấn đề CORS này trong nhiều giờ và tìm thấy điều này.
Achintha

78

Đối với người dùng windowsChrome Phiên bản 60.0.3112.78 (ngày giải pháp đã được thử nghiệm và hoạt động) và ít nhất là cho đến ngày hôm nay 19.01.2019 (phiên bản 71.0.3578.98) . Bạn không cần phải đóng bất kỳ trường hợp chrome nào.

  1. Tạo một lối tắt trên máy tính để bàn của bạn
  2. Nhấp chuột phải vào phím tắt và nhấp vào Thuộc tính
  3. Chỉnh sửa thuộc tính Target
  4. Đặt nó thành "C: \ Chương trình tệp (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-web-security --user-data-dir = "C: / ChromeDevSession"
  5. Bắt đầu chrome và bỏ qua thông báo cho biết --disable-web-security không được hỗ trợ!

HÃY THƯỞNG THỨC KHÔNG SỬ DỤNG VIỆC NGAY LẬP TỨC THAM GIA NÀY ĐỂ KIẾM ĐƯỢC VÌ BẠN CÓ THỂ ĐƯỢC HACK VỚI NÓ!


Làm việc như người ở. Tôi không thể tin rằng Chrome không cho phép các nhà phát triển vô hiệu hóa điều này mà không bắt đầu một phiên mới. Ít nhất họ có một cách mặc dù.
FearlessFuture

và bạn vẫn có thể sử dụng chrome gỡ lỗi trên mã nguồn của mình chứ?
Righto

chỉ cần thử nghiệm, bạn vẫn có thể sử dụng công cụ dev trong chế độ này.
KuN

Giải pháp này vẫn hoạt động như phiên bản chrome 71 Cảm ơn rất nhiều!
Motoman

Hoạt động với 72.0.3626.109. Đã giúp rất nhiều!
Pavel Molchanov

76

EDIT 3: Có vẻ như tiện ích mở rộng không còn tồn tại ... Thông thường để đi xung quanh CORS những ngày này tôi đã thiết lập một phiên bản Chrome khác với một thư mục riêng hoặc tôi sử dụng Firefox với https://addons.mozilla.org/en-US/ firefox / addon / cors-ở mọi nơi / thay vào đó.

EDIT 2: Tôi không còn có thể làm điều này hoạt động ổn định.

EDIT: Tôi đã thử sử dụng vào một ngày khác cho một dự án khác và nó đã ngừng hoạt động. Gỡ cài đặt và cài đặt lại tiện ích mở rộng đã sửa nó (để đặt lại mặc định).

Câu trả lời gốc:

Tôi không muốn khởi động lại Chrome và vô hiệu hóa bảo mật web của mình (vì tôi đang duyệt trong khi phát triển) và tình cờ tìm thấy tiện ích mở rộng Chrome này.

Cửa hàng Chrome cho phép Kiểm soát-Cho phép-Xuất xứ: *
(https://chrom.google.com.vn/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=vi)

Về cơ bản, đó là một công tắc bật tắt nhỏ để bật và tắt kiểm tra Kiểm soát cho phép truy cập nguồn gốc. Hoạt động hoàn hảo cho tôi cho những gì tôi đang làm.


1
cách tôi đạt được và tích hợp với tiện ích mở rộng của mình vì tiện ích mở rộng của tôi cần truy cập tên miền chéo. Tôi không thể buộc người dùng mở trình duyệt wth vô hiệu hóa bảo mật web
mã hóa vào

1
Thật không may, tiện ích mở rộng này không hoạt động đối với các tệp cục bộ. Bám sát công --disable-web-securitytắc trong trường hợp đó.
bryc

2
@bryc Nó không thực sự có nghĩa. Hãy xem xét mặc dù bạn có thể sử dụng --allow-file-access-from-filesthay vì vô hiệu hóa tất cả bảo mật web.
Coburn

1
Cảnh báo! Một số trang web sẽ không cho phép bạn đăng nhập với tiện ích mở rộng này được bật! Bảng điều khiển Firebase chẳng hạn.
campsjos

1
“Phần mở rộng không còn tồn tại”, bạn có thể xóa câu trả lời của bạn hoặc ít nhất đưa Sửa 3 ở đầu in đậm
Michael Freidgeim

48

Có vẻ như không có giải pháp nào ở trên đang thực sự hoạt động. Các --disable-web-an ninh không còn được hỗ trợ trong phiên bản chrome gần đây.

Cho phép-Kiểm soát-Cho phép-Xuất xứ: * - tiện ích chrome đã giải quyết được một phần vấn đề. Nó chỉ hoạt động nếu yêu cầu của bạn đang sử dụng phương thức GET và không có Tiêu đề HTTP tùy chỉnh. Nếu không, chrome sẽ gửi yêu cầu HTTP TÙY CHỌN dưới dạng yêu cầu trước chuyến bay. Nếu máy chủ không hỗ trợ CORS, nó sẽ phản hồi với mã trạng thái 404 HTTP. Plugin không thể sửa đổi mã trạng thái phản hồi HTTP. Vì vậy, chrome sẽ từ chối yêu cầu này. Không có cách nào để plugin chrome sửa đổi mã trạng thái HTTP phản hồi dựa trên API tiện ích chrome hiện tại. Và bạn không thể thực hiện chuyển hướng cũng như yêu cầu bắt đầu XHR.

Không chắc chắn tại sao Chrome làm cho cuộc sống của các nhà phát triển khó khăn như vậy. Nó chặn tất cả các cách có thể để vô hiệu hóa kiểm tra bảo mật XSS ngay cả đối với việc sử dụng phát triển là điều hoàn toàn không cần thiết.

Sau nhiều ngày vật lộn và nghiên cứu, một giải pháp hoàn hảo đối với tôi: sử dụng corsproxy . Bạn có hai tùy chọn ở đây: 1. sử dụng [ https://cors-anywhere.herokuapp.com/] 2. cài đặt corsproxy trong hộp cục bộ: npm install -g corsproxy

[Cập nhật vào ngày 23 tháng 6 năm 2018] Gần đây tôi đang phát triển một ứng dụng SPA cần sử dụng lại corsproxy. Nhưng dường như không có corsproxy nào trên github có thể đáp ứng yêu cầu của tôi.

  • cần nó để chạy bên trong tường lửa vì lý do bảo mật. Vì vậy, tôi không thể sử dụng https://cors-anywhere.herokuapp.com/ .
  • Nó phải hỗ trợ https vì chrome sẽ chặn yêu cầu ajax không https trong trang https.
  • Tôi cần phải chạy trên nodejs. Tôi không muốn duy trì một chồng ngôn ngữ khác.

Vì vậy, tôi quyết định phát triển phiên bản corsproxy của riêng mình với nodejs. Nó thực sự rất đơn giản. Tôi đã xuất bản nó như là một ý chính trên github. Đây là ý chính của mã nguồn: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • Đó là trong mã nodejs đơn giản mà không có bất kỳ phụ thuộc bổ sung nào
  • Bạn có thể chạy ở chế độ http và https (bằng cách chuyển số cổng https trong dòng lệnh), để chạy https, bạn cần tạo cert và key và đặt chúng vào thư mục webroot.
  • Nó cũng phục vụ như máy chủ tệp tĩnh
  • Nó cũng hỗ trợ yêu cầu TÙY CHỌN trước chuyến bay.

Để khởi động máy chủ CORSProxy (cổng http 8080): nút static_server.js 8080

để truy cập proxy: http: // host: 8080 / http: //www.somesite.com


Nếu bạn sẽ đi đến mức đó, bạn luôn có thể lưu trữ một máy chủ web cục bộ hoặc từ xa để lấy nội dung từ trang web bạn muốn và sau đó đặt tiêu đề CORS phù hợp vào đó.
Coburn

Tôi đã nghĩ về tuyến đường này trước đây. Nhưng điều này cần một số mã hóa, đặc biệt là trong trường hợp của tôi, tôi cần gọi một số dịch vụ có nguồn gốc từ các miền khác nhau. Vì vậy, tôi phải ánh xạ mẫu URL khác nhau sang các tên miền khác nhau. Đây chính xác là những gì corsproxy đã làm cho chúng tôi. Và nó hoạt động hoàn hảo.
Jianwu Chen

4
Không đúng .. Cách được đề cập trong câu trả lời được chấp nhận có hiệu quả đối với tôi .. Như đã đề cập, Chrome 49 trở đi lệnh 'chrome.exe --disable-web-security --user-data-dir' hoạt động với tôi ..
Gaurang Patel

2
Chromium 53, --disable-web-security --user-data-dir không hoạt động với tôi
Dark Star1

4
Trong 53+ bạn thực tế cần cung cấp một thư mục dữ liệu người dùng duy nhất khác với thư mục bình thường của bạn. Điều này tạo ra một hồ sơ mới cho môi trường không an toàn. --user-data-dir cần được đặt bằng với một cái gì đó, chẳng hạn như trong câu trả lời của Olas ở trên. Nếu bạn thực sự muốn, bạn CÓ THỂ đặt nó bằng với thư mục hồ sơ người dùng thực tế bình thường của bạn, nhưng điều này rất nản lòng vì nó để hồ sơ bình thường của bạn mở cho các cuộc tấn công tình cờ nếu bạn bắt đầu duyệt bình thường trong khi ở chế độ đó.
lassombra

45

Đối với Windows ... hãy tạo lối tắt Chrome trên máy tính để bàn của bạn.
Nhấp chuột phải> thuộc tính> Phím tắt
Chỉnh sửa đường dẫn "đích":

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

(Thay đổi 'C: .... \ chrome.exe' thành vị trí chrome của bạn).

et voilà :)


Kể từ ngày 27/08/20013, nó hoạt động với tôi, cho phép tôi thực hiện Ajax trên localhost của riêng tôi.
molokoloco

có "bạn đang sử dụng thẻ dòng lệnh không được hỗ trợ: --disable-web-security" với phiên bản Canary 53
khoailang

4
@khoailang bạn vẫn có thể sử dụng công tắc. Lời cảnh báo đó là một phần trong cuộc chiến không an toàn của Google (một điều tốt). Ngoài ra, kể từ phiên bản 55+, bạn cũng cần sử dụng --user-data-dir = <một số thư mục khác tại đây> vì vậy Google không muốn bạn trộn các quy tắc không an toàn với các cấu hình thông thường.
lassombra

44

Hãy thử lệnh này trên thiết bị đầu cuối Mac-

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

Nó mở một phiên bản khác của chrome với bảo mật bị vô hiệu hóa và không còn vấn đề CORS nữa. Ngoài ra, bạn không cần phải đóng các trường hợp chrome khác nữa. Thay đổi URL localhost thành URL của bạn.


Hầu hết các câu trả lời dòng lệnh ở trên không cải thiện cho tôi trên macOS. Tuy nhiên bài đăng này alfilatov.com/posts/run-chrome-without-cors và dòng lệnh mở làm việc cho tôi. Nó giống như lệnh trên để bỏ phiếu.
Max MacLeod

40

Tôi thấy cách tốt nhất để thực hiện việc này là sao chép phím tắt Chrome hoặc Chrome Canary trên màn hình nền Windows của bạn. Đổi tên phím tắt này thành "NO CORS" sau đó chỉnh sửa các thuộc tính của phím tắt đó.

trong mục tiêu thêm --disable-web-security --user-data-dir="D:/Chrome"vào cuối đường dẫn đích.

mục tiêu của bạn sẽ trông giống như thế này:

Cập nhật: Đã thêm cờ mới.

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

nhập mô tả hình ảnh ở đây


Điều này chỉ mang lại cho tôi 404 ngay bây giờ thay vì lỗi trước chuyến bay
L1ghtk3ira

Lỗi 404 sẽ là lỗi liên quan đến máy chủ và không phải lỗi Google Chrome.
etoxin

2
@etoxin Câu trả lời này không còn hợp lệ trong phiên bản chrome mới nhất. Bạn phải thêm --disable-web-security --user-data-dir = "D: / Chrome"
Vignesh S

29

sử dụng phiên bản chrome mới nhất hiện tại (83.0.4103.61 (Bản dựng chính thức) (64 bit)), cách duy nhất để làm cho nó hoạt động trong thử nghiệm của tôi là khởi động chrome bằng các cờ bên dưới (thay đổi D: \ temp theo ý thích của bạn) . Giải pháp này sẽ bắt đầu chrome dưới dạng hộp cát để thử nghiệm và nó sẽ không ảnh hưởng đến cấu hình chrome chính:

--disable-site-cô lập-thử nghiệm --disable-web-security --user-data-dir = "D: \ temp"

trong cửa sổ, nhấp vào nút bắt đầu, sau đó sao chép dán bên dưới:

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

5
Đây là giải pháp duy nhất làm việc cho tôi. Tôi đã chạy nó chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"trên runcửa sổ trên windows 10. Cảm ơn rất nhiều.
Sampath

ARGHGHGH TÓC TÓC - dường như không còn hoạt động nữa
Daniel Sokolowski

1
Việc thêm --disable-site-cô lập-thử nghiệm thực sự giúp tôi trong trường hợp của tôi, Chrome v 75.0, Trình điều khiển web Selenium, Java. Cảm ơn!
Nikolay Chernov

Nếu bạn chỉ cần kiểm tra một trang web bằng cors, hãy sử dụng Safari, nơi bạn chỉ cần bật và tắt các tùy chọn, thay vì khởi chạy một phiên bản khác của trình duyệt hoặc hủy các trường hợp: [ stackoverflow.com/a/12158217/922457 ]
Edenshaw

1
Làm việc cho tôi trên windows! Cảm ơn!
Jánosi-Borsos Róbert

20

Bạn có thể sử dụng plugin chrome này có tên "Cho phép kiểm soát-Cho phép-Xuất xứ: *" ... Nó làm cho nó trở nên đơn giản và hoạt động rất tốt. kiểm tra nó ở đây: *

Mở rộng Chrome


4
Nó đặt trang web "evil.com" làm nguồn gốc, có vẻ đáng ngờ.
Suprido

5
Không còn chức năng theo ngày bình luận này. Muốn giới thiệu chỉ sử dụng các tuyến cờ.
NJDawson

19

Đối với Selenium WebSearch, bạn có thể khởi động Selenium Chrome bằng các đối số thích hợp (hoặc "công tắc") trong trường hợp này.

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

1
đó là hai dấu gạch ngang có sẵn để bảo mật vô hiệu hóa web. đó là trình duyệt của tôi, nó làm cho chúng trông giống như một dấu gạch ngang.
mikelupo

Tôi đã viết một bài đăng nhỏ về chrome mà không cần cors
Alex Filatov

14

Nếu bạn đang sử dụng Google Chrome trên Linux, lệnh sau sẽ hoạt động.

google-chrome  --disable-web-security


13

Đừng làm điều này! Bạn đang mở tài khoản của mình để tấn công . Khi bạn thực hiện việc này, bất kỳ trang web bên thứ 3 nào cũng có thể bắt đầu gửi yêu cầu đến các trang web khác, các trang web mà bạn đã đăng nhập.

Thay vào đó hãy chạy một máy chủ cục bộ. Dễ dàng như mở shell / terminal / dòng lệnh và gõ

cd path/to/files
python -m SimpleHTTPServer

Sau đó trỏ trình duyệt của bạn tới

http://localhost:8000

Nếu bạn thấy nó quá chậm hãy xem xét giải pháp này

Cập nhật

Mọi người đánh giá thấp câu trả lời này nên đi qua đây và downvote câu trả lời này quá phù hợp. Không biết tại sao câu trả lời của tôi lại bị đánh giá thấp và câu trả lời tương tự ở đây là câu trả lời được bình chọn hàng đầu.

Bạn đang tự mở các cuộc tấn công. Mỗi tập lệnh của bên thứ 3 mà bạn đưa vào trên trang web của mình từ xa hoặc cục bộ như qua npm giờ đây có thể tải lên dữ liệu của bạn hoặc đánh cắp thông tin đăng nhập của bạn. Bạn đang làm một cái gì đó bạn không cần phải làm. Giải pháp được đề xuất không khó, mất 30 giây, không để bạn mở cuộc tấn công. Tại sao bạn lại chọn làm cho mình dễ bị tổn thương khi điều tốt hơn để làm là đơn giản như vậy?

Nói với mọi người để vô hiệu hóa bảo mật cũng giống như bảo bạn bè của bạn mở khóa cửa trước và / hoặc chìa khóa dưới thảm chùi chân. Chắc chắn tỷ lệ cược có thể thấp nhưng nếu chúng bị đánh cắp, mà không có bằng chứng buộc phải nhập cảnh, chúng có thể gặp khó khăn trong việc thu tiền bảo hiểm. Tương tự như vậy nếu bạn vô hiệu hóa bảo mật, bạn đang thực hiện việc vô hiệu hóa bảo mật đó . Thật vô trách nhiệm khi làm điều này khi bạn có thể giải quyết vấn đề một cách đơn giản mà không vô hiệu hóa bảo mật. Tôi sẽ ngạc nhiên nếu bạn không thể bị sa thải tại một số công ty vì vô hiệu hóa bảo mật.


9
Điều này sẽ không mở "máy của bạn" để tấn công. Mã JavaScript độc hại sẽ không thể làm được gì nhiều trên chính máy khách. Tuy nhiên, bạn sẽ cho phép mã JavaScript độc hại có khả năng thao túng tài khoản của bạn trên các trang web khác (facebook / chính quyền / ngân hàng / ...). Điều này chắc chắn không ít nguy hiểm, nhưng nó hoàn toàn khác nhau.
mờ



2
Tuy nhiên, người dùng có thể cần phải làm điều này. Vấn đề không phải là chạy một máy chủ. Vấn đề là kiểm tra CORS trước khi bạn đưa nó lên máy chủ chấp nhận / sản xuất của bạn, nơi không cần thay đổi này. Sửa đổi tập tin máy chủ sẽ không hoạt động.
Jeff Huijsmans

Bạn không thể kiểm tra CORS mà không có máy chủ vì CORS là công nghệ phía máy chủ. Để kiểm tra CORS, bạn cần thiết lập một máy chủ để gửi các tiêu đề CORS. Có 2 điều cần kiểm tra (1) máy chủ có gửi các tiêu đề (2) nếu máy chủ gửi các tiêu đề mà bạn có thể sử dụng tài nguyên trong trình duyệt. Cả (1) và (2) đều yêu cầu máy chủ. Nếu bạn chỉ muốn làm 2, bạn có thể sử dụng máy chủ này nhưng bạn vẫn cần kiểm tra (2) với bất kỳ máy chủ nào sẽ đến máy chủ trang web sản xuất của bạn.
gman

11

Bạn chỉ có thể sử dụng tiện ích mở rộng chrome này Cho phép-Kiểm soát-Cho phép-Xuất xứ

chỉ cần nhấp vào biểu tượng của phần mở rộng để bật bật chia sẻ tài nguyên chéo BẬT hoặc TẮT theo ý muốn


Liên kết đã chết.
Vitaly Zdanevich

Không phải vậy. Và vâng nó đang hoạt động. Nhưng chúng tôi đang ở đây vì chúng tôi bây giờ ý nghĩa của một lệnh vì vậy hãy sử dụng các giải pháp trên trước đây!
Jánosi-Borsos Róbert

@ Jánosi-BorsosRóbert người được bao gồm trong "chúng tôi" của bạn, và làm thế nào kiến ​​thức của bạn về ý nghĩa của một lệnh đưa bạn đến đây? FYI: Lệnh của bạn không chính xác, và tôi đã không tuân theo;)
Superole

10

CHỈ DÀNH CHO MAC USER

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

làm thế nào để hoàn nguyên sự thay đổi này @saurab
Mohasin Ali

@MohasinAli đóng tất cả các cửa sổ chrome và chỉ chạy nó như bình thường. Nó chỉ ảnh hưởng đến trường hợp bạn chạy với đối số này. Nếu bạn chạy lại mà không có bất kỳ đối số nào, thay đổi này sẽ không được áp dụng.
Jeff Huijsmans


7

Trên Windows 10, phần sau sẽ hoạt động.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt

Tôi ngạc nhiên rằng câu trả lời của bạn đã bị hạ thấp. Nó hoạt động rất tốt đối với tôi trên các tệp cục bộ với phiên bản Chrome mới nhất.
Waruyama

@CHANist: Có lẽ đó là lý do tại sao OP nói, "Trên Windows 10 " ...?
Lawrence Dol

7

Theo câu trả lời của Ola Karlsson, thực sự cách tốt nhất là mở Chrome không an toàn trong một phiên khác. Bằng cách này, bạn không cần lo lắng về việc đóng tất cả các tab hiện đang mở và cũng có thể tiếp tục lướt web an toàn với phiên Chrome gốc.

Các tệp bó này sẽ chỉ hoạt động cho bạn trên Windows.

Đặt nó trong tệp Chrome_CORS.bat để dễ sử dụng

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

Cái này là dành cho 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

Đây là một cách sử dụng vô nghĩa của một tập tin bó. Một phím tắt sẽ tốt hơn nhiều cho việc này. Chỉ cần đặt mọi thứ sau cặp trích dẫn đầu tiên vào mục tiêu phím tắt.
lassombra

Nó không thực sự quan trọng. Tuy nhiên, trong một đợt, bạn có thể làm nhiều việc hơn như xóa dir-data-dir sau khi bạn đóng trình duyệt chẳng hạn.
chàng trai

Đúng, thêm hành vi bên ngoài chỉ khởi chạy sẽ hữu ích, nhưng đối với hầu hết những người cần điều này, việc có một thư mục người dùng liên tục là hữu ích (ví dụ với các tiện ích mở rộng đã cài đặt)
lassombra

7

Trên Linux- Ubuntu, để chạy đồng thời một phiên bình thường và một phiên không an toàn chạy lệnh sau:

google-chrome  --user-data-dir=/tmp --disable-web-security

6

cho người dùng mac:

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

và trước Chrome 48, bạn chỉ có thể sử dụng:

open -a "Google Chrome" --args --disable-web-security

Cảm ơn. Điều này hoạt động trên Chrome 73 mới nhất bao gồm chính sách bảo mật CORB mới.
StuyvesantBlue


6

Đối với OSX, hãy chạy lệnh sau từ thiết bị đầu cuối:

open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name

Điều này sẽ bắt đầu một phiên bản mới của Google Chrome với cảnh báo ở trên.


5

đây là một mục tiêu đang chuyển động .... hôm nay tôi cần thêm một lá cờ khác để khiến nó hoạt động: --disable-site-isolation-trials

HĐH X: open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials


3

Cho cửa sổ:

(sử dụng windows 8.1, chrome 44.0 )

Đầu tiên, đóng google chrome.

Sau đó, mở dấu nhắc lệnh và đi đến thư mục chứa 'chrome.exe'.

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

Vì vậy, tôi gõ cd C:\Program Files (x86)\Google\Chrome\Application:)

bây giờ gõ: chrome.exe --disable-web-security

một cửa sổ mới của chrome sẽ mở ra.


3

Được sử dụng lệnh bên dưới trong Ubuntu để khởi động chrome (vô hiệu hóa chính sách gốc và mở chrome ở chế độ tách rời):

nohup google-chrome --disable-web-security --user-data-dir='/tmp' &

3

Trên Windows:

1) Tạo lối tắt mới:

Tạo lối tắt mới

2) Dán đường dẫn sau:

"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"

Dán đường dẫn

3) Trong loại trang tiếp theo:

Unsafe Chrome.exe

nhập mô tả hình ảnh ở đây

Bây giờ bạn có một chrome không an toàn trên máy tính để bàn để sử dụng để gỡ lỗi các ứng dụng CORS. Hy vọng câu trả lời đồ họa này sẽ giúp một số người!


1

Hãy thử truy cập trang này và vô hiệu hóa chính sách bảo mật tên miền cho tên miền trang web của bạn.

chrome://net-internals/#hsts

1
Vui lòng giải thích. Ở trang này ở phía dưới tôi thấy Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):.
Vitaly Zdanevich

Có ai giải quyết điều này?
Yipeekiyay

@RahulMalu bạn đã làm điều này để làm việc bằng cách nào đó?
Ben Racicot
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.