Firefox 'Yêu cầu đa nguồn bị chặn' mặc dù có tiêu đề

131
Godwhacker 2014-06-24 07:22.

Tôi đang cố gắng thực hiện một yêu cầu đa nguồn đơn giản và Firefox liên tục chặn nó với lỗi này:

Yêu cầu nguồn gốc chéo bị chặn: Chính sách nguồn gốc giống nhau không cho phép đọc tài nguyên từ xa tại [url]. Điều này có thể được khắc phục bằng cách di chuyển tài nguyên sang cùng một miền hoặc bật CORS. [url]

Nó hoạt động tốt trong Chrome và Safari.

Theo như tôi có thể nói, tôi đã đặt tất cả các tiêu đề chính xác trên PHP của mình để cho phép điều này hoạt động. Đây là những gì máy chủ của tôi đang phản hồi

HTTP/1.1 200 OK
Date: Mon, 23 Jun 2014 17:15:20 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.4.4-14+deb7u8
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type
Access-Control-Request-Headers: X-Requested-With, accept, content-type
Vary: Accept-Encoding
Content-Length: 186
Content-Type: text/html

Tôi đã thử sử dụng Angular, jQuery và một đối tượng XMLHTTPRequest cơ bản, như sau:

var data = "id=1234"
var request = new XMLHttpRequest({mozSystem: true})
request.onload = onSuccess;
request.open('GET', 'https://myurl.com' + '?' + data, true)
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
request.send()

... và nó hoạt động trên mọi trình duyệt ngoại trừ Firefox. Bất cứ ai có thể giúp đỡ với điều này?

14 answers

129
Godwhacker 2014-06-24 23:49.

Hóa ra điều này không liên quan gì đến CORS- đó là vấn đề với chứng chỉ bảo mật. Các lỗi gây hiểu nhầm = 4 giờ đau đầu.

31
Professor of programming 2019-07-11 02:17.

Tôi đã gặp câu hỏi này khi phát hiện thấy các yêu cầu trong Firefox bị chặn với thông báo:

Lý do: Yêu cầu CORS không thành công

Sau khi vén tóc, tôi phát hiện ra rằng một tiện ích mở rộng Firefox mới được cài đặt, Privacy Badger, đang chặn các yêu cầu.

Nếu bạn nghĩ đến câu hỏi này sau khi vò đầu bứt tai, hãy thử kiểm tra xem bạn đã cài đặt những tiện ích nào để xem có tiện ích nào đang chặn yêu cầu không.

Xem Lý do: Yêu cầu CORS không thành công trên MDN để biết chi tiết.

28
Cracker0dks 2015-06-24 13:53.

Tôi thấy rằng vấn đề của tôi là máy chủ mà tôi đã gửi yêu cầu chéo có chứng chỉ không đáng tin cậy.

Nếu bạn muốn kết nối với một miền chéo https, trước tiên bạn phải thêm một ngoại lệ cho chứng chỉ này.

Bạn có thể làm điều này bằng cách truy cập liên kết bị chặn một lần và thêm ngoại lệ.

17
Hypenate 2019-06-04 23:54.

Nếu bạn không có chứng chỉ 'thực' (và do đó sử dụng chứng chỉ tự ký), trong FireFox, bạn có thể truy cập:

Options > Privacy & Security > (scroll to the bottom) View Certificates > Add Exception.

Tại đó, hãy điền vào vị trí, ví dụ: https: //wwww.myserver: myport

14
Hoàng Quân 2016-12-01 16:51.

Tôi đã tìm thấy giải pháp sau 2 ngày :(.

Lưu ý quan trọng: khi phản hồi một yêu cầu đã được xác thực, máy chủ phải chỉ định một miền và không thể sử dụng phương pháp khắc sâu.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Requests_with_credentials

5
Leo 2015-01-19 17:11.

Chỉ là một lời cảnh báo. Cuối cùng tôi đã giải quyết được vấn đề với Firefox và CORS.

Giải pháp cho tôi là bài đăng này

Đặt CORS (chia sẻ tài nguyên nguồn gốc chéo) trên Apache với tiêu đề phản hồi chính xác cho phép mọi thứ thông qua | Benjamin Horn

Tuy nhiên, Firefox đã hoạt động thực sự, thực sự kỳ lạ sau khi đặt các tiêu đề đó trên máy chủ Apache (trong thư mục .htaccess).

Tôi đã thêm rất nhiều console.log("Hi FF, you are here A")vv để xem những gì đang xảy ra.

Lúc đầu, nó trông giống như nó bị treo cổ xhr.send(). Nhưng sau đó tôi phát hiện ra nó không đi đến tuyên bố này. Tôi đã đặt một cái khác console.logngay trước nó và không đạt được điều đó - mặc dù không có gì giữa cái cuối cùng console.logvà cái mới. Nó chỉ dừng lại giữa hai console.log.

Sắp xếp lại các dòng, xóa, xem có ký tự lạ nào trong tệp không. Tôi không tìm thấy gì cả.

Khởi động lại Firefox đã khắc phục sự cố.

Có, tôi nên gửi một lỗi. Chỉ là nó quá kỳ lạ nên không biết sao chép lại.

LƯU Ý : Và, ồ, tôi chỉ làm các Header always setphần, không phải Rewrite*một phần!

3
Gareth 2016-11-17 02:50.

Chỉ cần thêm

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

vào .htaccesstệp trong thư mục gốc của trang web mà bạn đang cố gắng kết nối.

3
Jack Stouffer 2019-01-15 11:47.

Đối với hậu quả, cũng kiểm tra nhật ký máy chủ để xem liệu tài nguyên đang được yêu cầu có trả về 200 hay không.

Tôi gặp phải sự cố tương tự, trong đó tất cả các tiêu đề phù hợp đang được trả lại trong yêu cầu ajax trước chuyến bay, nhưng trình duyệt báo cáo yêu cầu thực tế đã bị chặn do tiêu đề CORS không hợp lệ.

Hóa ra, trang được yêu cầu trả về lỗi 500 do mã không hợp lệ, nhưng chỉ khi nó được tìm nạp qua CORS. Trình duyệt (cả Chrome và Firefox) đã báo cáo nhầm rằng thiếu tiêu đề Access-Control-Allow-Origin thay vì cho biết trang trả về 500.

1
Dharmendra Manikpuri 2017-08-31 19:53.

Hãy thử điều này, nó sẽ giải quyết vấn đề của bạn

  1. Trong config.php của bạn, thêm www trước trong domain.com của bạn. Ví dụ:

    HTTP define('HTTP_SERVER', 'http://domain name with www/');
    HTTPS define('HTTPS_SERVER', 'http://domain name with www/');
    
  2. Thêm cái này vào tệp .htaccess của bạn

    RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]
    
1
rogerdpack 2017-04-15 09:02.

Đối với tôi, hóa ra tôi đã đặt Access-Control-Allow-Origintiêu đề phản hồi thành một tiêu đề cụ thể (và chính xác) host.comnhưng thay vào đó, nó phải được trả lại http://host.com. Firefox làm gì? Nó âm thầm nuốt yêu cầu GET và trả về trạng thái 0 cho XHR, không có cảnh báo nào xuất ra bảng điều khiển javascript, trong khi đối với các lỗi tương tự khác, ít nhất nó sẽ nói gì đó. Ai ai.

1
johndodo 2019-01-26 07:13.

Để gỡ lỗi, hãy kiểm tra nhật ký máy chủ nếu có thể. Firefox trả về lỗi CORS trong bảng điều khiển vì nhiều lý do.

Một trong những lý do cũng là plugin uMatrix (và tôi đoán là NoScript và tương tự).

1
Christian Heath 2020-05-28 07:04.

Trong trường hợp của tôi, đó là ADBLOCKER của tôi ! Vì lý do nào đó, nó đã được bật trên localhost của tôi và gây ra lỗi này trong Firefox.

Vô hiệu hóa nó hoặc gỡ bỏ cài đặt các Plugin nên sửa lỗi này.

Trong trường hợp của bạn, nó có thể không phải là trình chặn quảng cáo mà là một plugin khác của Firefox. Trước tiên, hãy kiểm tra nó ở chế độ ẩn danh mà không có plugin nào để xác định xem đó có phải là vấn đề hay không và sau đó vô hiệu hóa các plugin một cách có hệ thống cho đến khi bạn tìm ra thủ phạm.

0
Diego Favero 2019-05-08 10:44.

Tôi đã đối mặt với vấn đề tương tự và tôi nghĩ là hợp lệ để được đăng ký theo cách tôi đã khắc phục nó:

Tôi có một hệ thống được xây dựng cơ bản dựa trên Symfony 3. Vì mục đích tự học và hiệu suất, tôi đã quyết định viết một vài tập lệnh bằng cách sử dụng GoLang, một API có quyền truy cập công khai.

API Go của tôi mong đợi các tham số định dạng Json và cũng trả về phản hồi định dạng Json

Để gọi những GoApi đó mà tôi đang sử dụng, hầu hết, $ .ajax (jQuery) Thử nghiệm đầu tiên là một sự lừa dối: cửa sổ bật lên nổi tiếng "Cross-Origin Request Blocked" (không có) bật lên! Sau đó, tôi đã cố gắng đặt "Access-Control-Allow-Origin: *" trên apache conf, htaccess, php, javascript và bất kỳ nơi nào tôi có thể tìm thấy trên google!

Nhưng, thậm chí, cùng một lỗi khó chịu !!!

Giải pháp rất đơn giản: Tôi phải thực hiện các yêu cầu "ĐĂNG" thay vì "NHẬN".

Để đạt được điều đó, tôi đã phải điều chỉnh cả GoLang và JavaScript để sử dụng GET! Sau khi hoàn tất, tôi sẽ không còn yêu cầu Cross-Origin nào nữa !!!

Hy vọng nó giúp

Tái bút:

Tôi đang sử dụng apache và Vhost, trên Khối thư mục tôi có

  Header always set Access-Control-Allow-Origin "*"
  Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"

Hãy nhớ: "*" có nghĩa là bạn sẽ chấp nhận yêu cầu từ bất kỳ ai !!! (Có thể là thiếu bảo mật) Trong trường hợp của tôi thì không sao, vì nó sẽ là một API công khai

PS2: Tiêu đề của tôi

Tiêu đề phản hồi

Access-Control-Allow-Credentials    true
Access-Control-Allow-Headers    Authorization
Access-Control-Allow-Methods    GET, POST, PUT
Access-Control-Allow-Origin http://localhost
Content-Length  164
Content-Type    application/json; charset=UTF-8
Date    Tue, 07 May 2019 20:33:52 GMT

Tiêu đề yêu cầu (469 B)

Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Connection  keep-alive
Content-Length  81
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Host    localhost:9003
Origin  http://localhost
Referer http://localhost/fibootkt/MY_app_dev.php/MyTest/GoAPI
User-Agent  Mozilla/5.0 (Macintosh; Intel …) Gecko/20100101 Firefox/66.0
0
Neeraj Sewani 2020-05-21 19:46.

Nếu các câu trả lời nói trên không giúp ích được gì thì hãy kiểm tra xem máy chủ phụ trợ có đang hoạt động hay không như trong trường hợp của tôi là máy chủ bị lỗi và lỗi này hoàn toàn gây nhầm lẫn.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Tận dụng lợi thế của việc bán hàng nhân Ngày của Cha này

Tận dụng lợi thế của việc bán hàng nhân Ngày của Cha này

Màn hình Samsung Galaxy S9 Plus. Chủ nhật này là Ngày của Cha⁠ — trong trường hợp nó khiến bạn suy nghĩ — và thay vì mua cho anh ấy một chiếc cà vạt trong năm nay, có lẽ đã đến lúc bạn mua cho anh ấy thứ mà anh ấy sẽ thực sự sử dụng.

Assassin's Creed Snuck Into Monster Hunter: World Last Night

Assassin's Creed Snuck Into Monster Hunter: World Last Night

Monster Hunter: World yêu thích các sự kiện chéo. Dù có nghĩa là hóa trang thành Dante của Devil May Cry, giả dạng Horizon: Zero Dawn's Aloy, hay chiến đấu với quái vật Final Fantasy, các nhiệm vụ sự kiện khác nhau của Thế giới được nâng cấp tự do so với các trò chơi khác.

Ava DuVernay Có Quà Tặng Ngày Của Mẹ cho Tất Cả Chúng Ta: Nếp Nhăn Thời Gian Sẽ Được Viết Lại Vào Cuối Tuần Ngày Của Mẹ!

Ava DuVernay Có Quà Tặng Ngày Của Mẹ cho Tất Cả Chúng Ta: Nếp Nhăn Thời Gian Sẽ Được Viết Lại Vào Cuối Tuần Ngày Của Mẹ!

Storm Reid, Oprah Winfrey, Mindy Kaling, Reese Witherspoon và Ava DuVernay tại buổi chiếu đặc biệt của A Wrinkle in Time tại Nhà hát Walter Reade ở Thành phố New York vào ngày 7 tháng 3 năm 2018 “Ava rất mong được nói chuyện với bạn,” một trong những người của Array dư luận viên nói qua điện thoại. (Array là tập thể phân phối, nghệ thuật và vận động chính sách của Ava DuVernay tập trung vào các bộ phim của người da màu và phụ nữ.

Nhiệm vụ bất khả thi 5 sẽ khôi phục niềm tin của bạn trong phim hành động Tentpole

Nhiệm vụ bất khả thi 5 sẽ khôi phục niềm tin của bạn trong phim hành động Tentpole

Mission Impossible: Rogue Nation bắt đầu ở một cấp độ khác. Theo nghĩa đen.

Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

McCain, người đang làm việc cho một album mới, lần đầu tiên bước vào vòng kết nối vào tối thứ Sáu ở Nashville

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Tôi viết như thế nào

Tôi viết như thế nào

Đối với tôi, mọi thứ là về dòng đầu tiên đó và nó sẽ đưa bạn đến đâu. Một số nhà văn bị điều khiển bởi cốt truyện, sự sắp xếp tinh tế của các quân cờ, trong khi những người khác bị lôi cuốn bởi một nhân vật và khả năng thực hiện một cuộc hành trình với một người bạn hư cấu mới.

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Language