คำถามติดแท็ก cors

ใช้แท็กนี้เมื่อคุณเห็นข้อความในคอนโซล devtools ของเบราว์เซอร์เกี่ยวกับ CORS (การแบ่งปันทรัพยากรข้ามแหล่งกำเนิด) - เช่นเบราว์เซอร์ของคุณบันทึกข้อผิดพลาดเกี่ยวกับ Access-Control-Allow-Origin และคุณต้องการทราบวิธีกำจัดข้อผิดพลาด นอกจากนี้สำหรับคำถามอื่น ๆ เกี่ยวกับโปรโตคอล CORS (กำหนดไว้ใน Fetch Living Standard เป็นวิธีการใช้ส่วนหัวการตอบสนองเพื่อบอกเบราว์เซอร์เพื่อผ่อนคลายนโยบายต้นกำเนิดเดียวกันและอนุญาตคำขอ XHR / Fetch / Ajax แบบข้ามจุดกำเนิด)

6
Ajax โดยใช้ https บนหน้า http
เว็บไซต์ของฉันใช้โปรโตคอล http และ https ไม่ส่งผลกระทบต่อเนื้อหา ไซต์ของฉันใช้การโทร jQuery ajax ซึ่งเติมเต็มพื้นที่บางส่วนบนหน้าเว็บด้วย ตอนนี้ฉันต้องการโทร ajax ทั้งหมดผ่าน https (โปรดอย่าถามฉันว่าทำไม :)) เมื่อฉันอยู่บนเพจที่มีโปรโตคอล https คำขอ ajax กำลังทำงาน เมื่อฉันอยู่บนหน้าที่มีโปรโตคอล http ฉันได้รับข้อผิดพลาดของจาวาสคริปต์: การเข้าถึง URI ที่ จำกัด ถูกปฏิเสธ ฉันรู้ว่านี่เป็นปัญหาข้ามโดเมน (อันที่จริงมันเป็นปัญหาข้ามโปรโตคอล) และฉันรู้ว่าฉันควรใช้โปรโตคอลเดียวกันในการโทร ajax เหมือนในหน้าปัจจุบัน ถึงกระนั้นฉันต้องการให้การโทรของ ajax ทั้งหมดเป็น https และเรียกพวกเขาบนหน้าที่แสดงบน http มีวิธีแก้ปัญหาเพื่อให้บรรลุสิ่งนี้ (โซลูชัน json / proxy บางตัวหรือไม่) หรือเป็นไปไม่ได้เลย?
101 jquery  ajax  https  cors 

6
วิธีเพิ่มส่วนหัว Access-Control-Allow-Origin
ฉันกำลังออกแบบเว็บไซต์ (เช่น mywebsite.com) และไซต์นี้โหลดฟอนต์หน้าตาฟอนต์จากไซต์อื่น (พูดว่า anothersite.com) ฉันมีปัญหากับการโหลดฟอนต์หน้าตาฟอนต์ใน Firefox และอ่านในบล็อกนี้ : Firefox (ซึ่งรองรับ @ font-face จาก v3.5) ไม่อนุญาตให้ใช้ฟอนต์ข้ามโดเมนโดยค่าเริ่มต้น ซึ่งหมายความว่าจะต้องใช้แบบอักษรจากโดเมนเดียวกัน (และโดเมนย่อย) เว้นแต่คุณจะสามารถเพิ่มส่วนหัว“ Access-Control-Allow-Origin” ลงในแบบอักษรได้ ฉันจะตั้งค่าส่วนหัว Access-Control-Allow-Origin เป็นแบบอักษรได้อย่างไร
101 header  cors  font-face 

5
CORS: โหมดข้อมูลรับรองคือ 'รวม'
ใช่ฉันรู้ว่าคุณกำลังคิดอะไร - ยังเป็นคำถาม CORS อีกคำถาม แต่คราวนี้ฉันนิ่งงัน ดังนั้นในการเริ่มต้นข้อความแสดงข้อผิดพลาดจริง: XMLHttpRequest ไม่สามารถโหลดhttp: //localhost/Foo.API/token ค่าของ 'การเข้าถึงการควบคุมอนุญาตให้-กำเนิด' หัวในการตอบสนองจะต้องไม่เป็นสัญลักษณ์แทน '*' เมื่อมีการร้องขอของโหมดข้อมูลประจำตัวคือ 'รวมถึง' Origin ' http: // localhost: 5000 ' จึงไม่อนุญาตให้เข้าถึง โหมดหนังสือรับรองของคำขอที่เริ่มต้นโดย XMLHttpRequest ถูกควบคุมโดยแอตทริบิวต์ withCredentials ฉันไม่แน่ใจว่าโหมดข้อมูลรับรองหมายถึงอะไรคือ 'รวม' ? ดังนั้นเมื่อฉันดำเนินการตามคำขอในบุรุษไปรษณีย์ฉันไม่พบข้อผิดพลาดดังกล่าว: แต่เมื่อฉันเข้าถึงคำขอเดียวกันผ่านเว็บแอป angularjs ฉันรู้สึกสะดุดกับข้อผิดพลาดนี้ นี่คือคำขอ / การตอบกลับ angualrjs ของฉัน ดังที่คุณจะเห็นการตอบสนองOK 200แต่ฉันยังคงได้รับข้อผิดพลาด CORS: คำขอและการตอบกลับของ Fiddler: ภาพต่อไปนี้แสดงคำขอและการตอบกลับจากส่วนหน้าเว็บไปยัง API จากโพสต์อื่น ๆ ทั้งหมดที่ฉันอ่านทางออนไลน์ดูเหมือนว่าฉันกำลังทำสิ่งที่ถูกต้องนั่นคือเหตุผลที่ฉันไม่เข้าใจข้อผิดพลาด …

5
อนุญาตคำขอ CORS REST ไปยังแอปพลิเคชัน Express / Node.js บน Heroku
ฉันได้เขียน REST API บนเฟรมเวิร์กด่วนสำหรับ node.js ที่ใช้กับคำขอจากคอนโซล js ใน Chrome และแถบ URL ฯลฯ ตอนนี้ฉันกำลังพยายามทำให้มันทำงานกับคำขอจากแอปอื่น โดเมน (CORS) คำขอแรกที่สร้างขึ้นโดยอัตโนมัติโดยส่วนหน้าของจาวาสคริปต์คือการ / api / search? uri = และดูเหมือนจะล้มเหลวในคำขอ OPTIONS "preflight" ในแอปด่วนของฉันฉันกำลังเพิ่มส่วนหัว CORS โดยใช้: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' …
98 node.js  rest  heroku  express  cors 

5
ตั้งค่าคุกกี้สำหรับคำขอข้ามแหล่งที่มา
จะแบ่งปันคุกกี้ข้ามแหล่งกำเนิดได้อย่างไร? โดยเฉพาะอย่างยิ่งวิธีใช้Set-Cookieส่วนหัวร่วมกับส่วนหัวAccess-Control-Allow-Origin? นี่คือคำอธิบายเกี่ยวกับสถานการณ์ของฉัน: ฉันกำลังพยายามที่จะตั้งค่าคุกกี้สำหรับ API ที่ทำงานอยู่ในในเว็บแอปที่โฮสต์บนlocalhost:4000localhost:3000 ดูเหมือนว่าฉันจะได้รับส่วนหัวการตอบกลับที่ถูกต้องในเบราว์เซอร์ แต่น่าเสียดายที่ไม่มีผลใด ๆ นี่คือส่วนหัวการตอบกลับ: HTTP / 1.1 200 ตกลง Access-Control-Allow-Origin: http: // localhost: 3000 แตกต่างกันไป: ต้นทางยอมรับการเข้ารหัส ชุดคุกกี้: token = 0d522ba17e130d6d19eb9c25b7ac58387b798639f81ffe75bd449afbc3cc715d6b038e426adeac3316f0511dc7fae3f7; อายุสูงสุด = 86400; โดเมน = localhost: 4000; เส้นทาง = /; Expires = อ. 19 ก.ย. 2560 21:11:36 GMT; HttpOnly ประเภทเนื้อหา: application / json; charset …

6
CORS กับ POSTMAN
มีการถามเรื่องนี้สองสามครั้ง แต่ฉันยังไม่เข้าใจบางอย่าง: เมื่อฉันอ่านคำตอบเกี่ยวกับ ไม่มีส่วนหัว "Access-Control-Allow-Origin" add_header 'Access-Control-Allow-Origin' '*';ปัญหาก็กล่าวว่าการตั้งค่าที่ควรจะตั้งบนเซิร์ฟเวอร์ที่ร้องขอเพื่อให้ข้ามโดเมน: แต่ช่วยบอกหน่อยว่าทำไมเวลาถามจากบุรุษไปรษณีย์ (ซึ่งเป็นลูกค้า) มันใช้งานได้ดีและฉันได้รับคำตอบจากเซิร์ฟเวอร์ที่ร้องขอ ขอขอบคุณ
95 http  cors  postman 

10
ไม่มีส่วนหัว 'Access-Control-Allow-Origin' อยู่ในข้อผิดพลาดของทรัพยากรที่ร้องขอ
ฉันพยายามดึงฟีดของเว็บไซต์ข่าว คิดว่าฉันจะใช้ feed API ของ Google เพื่อแปลง feedburner feed เป็น json URL ต่อไปนี้จะส่งคืน 10 โพสต์จากฟีดในรูปแบบ json http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http://feeds.feedburner.com/mathrubhumi ฉันใช้รหัสต่อไปนี้เพื่อรับเนื้อหาของ url ด้านบน $.ajax({ type: "GET", dataType: "jsonp", url: "http://ajax.googleapis.com/ajax/services/feed/load", data: { "v": "1.0", "num": "10", "q": "http://feeds.feedburner.com/mathrubhumi" }, success: function(result) { //..... } }); แต่มันใช้งานไม่ได้และฉันได้รับข้อผิดพลาดต่อไปนี้ XMLHttpRequest ไม่สามารถโหลด http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http%3A%2F%2Ffeeds.feedburner.com%2Fmathrubhumi ไม่มีส่วนหัว "Access-Control-Allow-Origin" ในทรัพยากรที่ร้องขอ Origin …
94 javascript  jquery  json  ajax  cors 

2
CORS - httprequest 'preflight' ทำอย่างไร?
ฉันกำลังพยายามส่งคำขอ HTTP ข้ามโดเมนไปยังบริการ WCF (ที่ฉันเป็นเจ้าของ) ฉันได้อ่านเทคนิคต่างๆในการทำงานกับข้อ จำกัด การเขียนสคริปต์ข้ามโดเมน เนื่องจากบริการของฉันต้องรองรับทั้งคำขอ GET และ POST ฉันจึงไม่สามารถติดตั้งแท็กสคริปต์แบบไดนามิกบางแท็กที่ src เป็น URL ของคำขอ GET เนื่องจากฉันมีอิสระที่จะทำการเปลี่ยนแปลงที่เซิร์ฟเวอร์ฉันจึงเริ่มพยายามใช้วิธีแก้ปัญหาที่เกี่ยวข้องกับการกำหนดค่าการตอบสนองของเซิร์ฟเวอร์เพื่อรวมส่วนหัว "Access-Control-Allow-Origin" และคำขอ "preflight" ด้วยและคำขอ OPTIONS ฉันได้แนวคิดจากโพสต์นี้: การทำให้ CORS ทำงานได้ ที่ฝั่งเซิร์ฟเวอร์วิธีการบนเว็บของฉันกำลังเพิ่ม 'Access-Control-Allow-Origin: *' ในการตอบสนอง HTTP ฉันเห็นว่าการตอบกลับรวมส่วนหัวนี้ไว้แล้ว คำถามของฉันคือฉันจะ 'กำหนดล่วงหน้า' คำขอ (OPTIONS) ได้อย่างไร? ฉันใช้ jQuery.getJSON เพื่อส่งคำขอ GET แต่เบราว์เซอร์ยกเลิกคำขอทันทีพร้อมกับสิ่งที่น่าอับอาย: จุดกำเนิดhttp: // localhostไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin มีใครคุ้นเคยกับเทคนิค CORS …
94 javascript  wcf  jquery  cors 

6
จะข้ามคำขอไฟล่วงหน้า OPTIONS ได้อย่างไร
ฉันได้พัฒนาแอพ PhoneGap ซึ่งตอนนี้เปลี่ยนเป็นเว็บไซต์บนมือถือแล้ว ทุกอย่างทำงานได้อย่างราบรื่นนอกเหนือจากความผิดพลาดเล็ก ๆ น้อย ๆ ฉันใช้ API ของบุคคลที่สามผ่านคำขอ POST ซึ่งทำงานได้ดีในแอป แต่ล้มเหลวในเวอร์ชันเว็บไซต์บนอุปกรณ์เคลื่อนที่ หลังจากดูใกล้ ๆ ดูเหมือนว่า AngularJS (ฉันเดาว่าเบราว์เซอร์จริง) เป็นครั้งแรกที่ส่งคำขอ OPTIONS วันนี้ฉันได้เรียนรู้มากมายเกี่ยวกับ CORS แต่ดูเหมือนจะไม่รู้วิธีปิดการใช้งานทั้งหมด ฉันไม่มีสิทธิ์เข้าถึง API นั้น (ดังนั้นการเปลี่ยนแปลงที่ด้านนั้นจึงเป็นไปไม่ได้) แต่พวกเขาได้เพิ่มโดเมนที่ฉันกำลังทำงานอยู่ในส่วนหัว Access-Control-Allow-Origin นี่คือรหัสที่ฉันกำลังพูดถึง: var request = { language: 'fr', barcodes: [ { barcode: 'somebarcode', description: 'Description goes here' } ] }; } var …

10
วิธีเปิดใช้ CORS ในขวด
ฉันพยายามส่งคำขอข้ามแหล่งที่มาโดยใช้ jquery แต่มันยังคงถูกปฏิเสธด้วยข้อความ XMLHttpRequest ไม่สามารถโหลด http: // ... ไม่มีส่วนหัว 'Access-Control-Allow-Origin' อยู่ในทรัพยากรที่ร้องขอ Origin ... จึงไม่อนุญาตให้เข้าถึง ฉันใช้กระติกน้ำ heroku และ jquery รหัสไคลเอ็นต์มีลักษณะดังนี้: $(document).ready(function() { $('#submit_contact').click(function(e){ e.preventDefault(); $.ajax({ type: 'POST', url: 'http://...', // data: [ // { name: "name", value: $('name').val()}, // { name: "email", value: $('email').val() }, // { name: "phone", value: $('phone').val()}, …
92 jquery  python  heroku  flask  cors 

10
ชุดส่วนหัว Access-Control-Allow-Origin ใน. htaccess ไม่ทำงาน
ฉันคิดไม่ออกว่าทำไม.htaccessการตั้งค่าส่วนหัวของฉันจึงไม่ทำงาน .htaccessเนื้อหาไฟล์ของฉัน: Header set Access-Control-Allow-Origin * Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header always set Access-Control-Allow-Headers "*" RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] แต่เมื่อฉันลบHeaderและเพิ่มเข้าไปindex.phpแล้วทุกอย่างก็ใช้ได้ดี header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS"); header("Access-Control-Allow-Headers: *"); ฉันขาดอะไรไป?

6
Firebase Storage และ Access-Control-Allow-Origin
ฉันพยายามดาวน์โหลดไฟล์จาก Firebase Storage ผ่าน XMLHttpRequest แต่ไม่ได้ตั้งค่า Access-Control-Allow-Origin บนทรัพยากรจึงไม่สามารถทำได้ มีวิธีใดบ้างในการตั้งค่าส่วนหัวนี้บนเซิร์ฟเวอร์จัดเก็บ (let [xhr (js/XMLHttpRequest.)] (.open xhr "GET" url) (aset xhr "responseType" "arraybuffer") (aset xhr "onload" #(js/console.log "bin" (.-response xhr))) (.send xhr))) ข้อความแสดงข้อผิดพลาดของ Chrome: XMLHttpRequest ไม่สามารถโหลด https://firebasestorage.googleapis.com/[EDITED] ไม่มีส่วนหัว "Access-Control-Allow-Origin" ในทรัพยากรที่ร้องขอ Origin ' http: // localhost: 3449 ' จึงไม่ได้รับอนุญาตให้เข้าถึง

2
jQuery xml error 'No' Access-Control-Allow-Origin 'มีอยู่ในทรัพยากรที่ร้องขอ'
ฉันกำลังทำโปรเจ็กต์ส่วนตัวของฉันเพื่อความสนุกที่ฉันต้องการอ่านไฟล์ xml ซึ่งอยู่ที่http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml และแยกวิเคราะห์ xml และ ใช้เพื่อแปลงค่าระหว่างสกุลเงิน จนถึงตอนนี้ฉันได้สร้างโค้ดด้านล่างซึ่งค่อนข้างธรรมดาเพื่ออ่าน xml แต่ฉันได้รับข้อผิดพลาดต่อไปนี้ XMLHttpRequest ไม่สามารถโหลด **** ไม่มีส่วนหัว "Access-Control-Allow-Origin" ในทรัพยากรที่ร้องขอ Origin ' http://run.jsbin.com ' จึงไม่อนุญาตให้เข้าถึง $(document).ready( function() { $.ajax({ type: 'GET', url: 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml', dataType: 'xml', success: function(xml){ alert('aaa'); } }); } ); ฉันไม่เห็นอะไรผิดปกติกับรหัสของฉันดังนั้นฉันหวังว่าจะมีคนชี้ให้เห็นว่าฉันทำอะไรผิดกับรหัสของฉันและฉันจะแก้ไขได้อย่างไร

10
การเปิดใช้งานการแบ่งปันทรัพยากรข้ามแหล่งที่มาบน IIS7
ฉันเพิ่งพบกับการโพสต์คำขอ Javascript ไปยังโดเมนอื่น โดยค่าเริ่มต้น XHR ไม่อนุญาตให้โพสต์ไปยังโดเมนอื่น ทำตามคำแนะนำจากhttp://enable-cors.org/ฉันได้เปิดใช้งานสิ่งนี้ในโดเมนอื่น <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> ทุกอย่างทำงานได้ดีในขณะนี้อย่างไรก็ตามยังคงส่งคืนการตอบกลับ 405 ก่อนที่จะส่งการตอบกลับที่ใช้งานได้ 200 ครั้ง Request URL:http://testapi.nottherealsite.com/api/Reporting/RunReport Request Method:OPTIONS Status Code:405 Method Not Allowed Request Headersview source Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch …

1
ข้อ จำกัด ใดที่ใช้กับการตอบสนองแบบทึบแสง?
การตอบสนองแบบทึบถูกกำหนดให้เป็นส่วนหนึ่งของFetch APIและแสดงถึงผลลัพธ์ของคำขอที่ส่งไปยังต้นทางระยะไกลเมื่อไม่ได้เปิดใช้งานCORS ข้อ จำกัด ในทางปฏิบัติและ "gotcha" มีอะไรบ้างเกี่ยวกับวิธีการใช้การตอบกลับแบบทึบทั้งจาก JavaScript และเป็นทรัพยากรบนหน้าเว็บ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.