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

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

8
ทำไมบุรุษไปรษณีย์ไม่ได้รับข้อผิดพลาด“ ไม่มีการเข้าถึง - การควบคุม - อนุญาต - กำเนิด” ในทรัพยากรที่ร้องขอ” เมื่อรหัส JavaScript ของฉันไม่ทำงาน
Mod note : คำถามนี้เกี่ยวกับสาเหตุที่บุรุษไปรษณีย์ไม่อยู่ภายใต้ข้อ จำกัด ของ CORS ในลักษณะเดียวกับ XMLHttpRequest คำถามนี้ไม่ได้เกี่ยวกับวิธีการแก้ไขข้อผิดพลาด "ไม่ 'การเข้าถึงการควบคุมการอนุญาตให้กำเนิด' ... " กรุณาหยุดโพสต์ : การกำหนดค่า CORS สำหรับทุกภาษา / กรอบภายใต้ดวงอาทิตย์ แทนที่จะหา / คำถามกรอบของภาษาที่เกี่ยวข้องของคุณ บริการของบุคคลที่สามที่อนุญาตให้มีการร้องขอเพื่อหลีกเลี่ยง CORS ตัวเลือกบรรทัดคำสั่งสำหรับการปิด CORS สำหรับเบราว์เซอร์ต่างๆ ฉันกำลังพยายามที่จะทำการอนุญาตใช้งาน JavaScriptโดยการเชื่อมต่อไปยังสงบ APIในตัวขวด อย่างไรก็ตามเมื่อฉันขอฉันได้รับข้อผิดพลาดดังต่อไปนี้: XMLHttpRequest ไม่สามารถโหลดhttp: // myApiUrl / เข้าสู่ระบบ ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ จุดเริ่มต้น 'null' ไม่อนุญาตให้เข้าถึง ฉันรู้ว่า API หรือทรัพยากรระยะไกลต้องตั้งค่าส่วนหัว แต่ทำไมมันทำงานเมื่อฉันทำคำขอผ่านบุรุษไปรษณีย์ส่วนขยายของ Chrome …

15
ส่วนหัว Access-Control-Allow-Origin ทำงานอย่างไร
เห็นได้ชัดว่าฉันเข้าใจผิดความหมายทั้งหมด ฉันคิดถึงบางสิ่งเช่นนี้: ดาวน์โหลดไคลเอนต์จาวาสคริปต์ MyCode.js โค้ดจากhttp://siteA- ต้นกำเนิด ส่วนหัวการตอบสนองของ MyCode.js มีAccess-Control-Allow-Origin:http://siteBซึ่งฉันคิดว่าหมายความว่า MyCode.js ได้รับอนุญาตให้ทำการอ้างอิงข้ามแหล่งที่มากับเว็บไซต์ B ไคลเอนต์ทริกเกอร์การทำงานบางอย่างของ MyCode.js ซึ่งจะทำการร้องขอhttp://siteBซึ่งควรจะดีแม้จะเป็นคำขอข้ามแหล่ง ฉันผิด มันไม่ทำงานเช่นนี้เลย ดังนั้นฉันได้อ่านการแชร์ทรัพยากรข้ามแหล่งและพยายามอ่านการแบ่งปันทรัพยากรข้ามแหล่งในการแนะนำ w3c มีสิ่งหนึ่งที่แน่นอน - ฉันยังไม่เข้าใจว่าฉันควรใช้ส่วนหัวนี้อย่างไร ฉันสามารถควบคุมทั้งไซต์ A และไซต์ B อย่างสมบูรณ์ฉันจะเปิดใช้งานรหัส javascript ที่ดาวน์โหลดจากไซต์ A เพื่อเข้าถึงทรัพยากรบนไซต์ B โดยใช้ส่วนหัวนี้ได้อย่างไร PS ฉันไม่ต้องการใช้ JSONP

30
การเข้าถึง - การควบคุม - อนุญาต - Origin หลายโดเมน Origin?
มีวิธีการอนุญาตให้ข้ามหลายโดเมนโดยใช้Access-Control-Allow-Originส่วนหัวหรือไม่ ฉันรู้เรื่อง*นี้ แต่มันเปิดเกินไป ฉันต้องการอนุญาตโดเมนเพียงสองสามข้อ ตัวอย่างเช่นสิ่งนี้: Access-Control-Allow-Origin: http://domain1.example, http://domain2.example ฉันลองใช้รหัสด้านบนแล้ว แต่ดูเหมือนจะไม่ทำงานใน Firefox เป็นไปได้หรือไม่ที่จะระบุหลายโดเมนหรือติดอยู่กับโดเมนเดียว?

30
ทำไมไม่เพิ่มส่วนหัว CORS ในเส้นทางตัวเลือกอนุญาตให้เบราว์เซอร์เข้าถึง API ของฉัน
ฉันพยายามสนับสนุน CORS ในแอปพลิเคชัน Node.js ของฉันซึ่งใช้เว็บเฟรมเวิร์ก Express.js ฉันได้อ่านการอภิปรายกลุ่มของ Googleเกี่ยวกับวิธีจัดการเรื่องนี้และอ่านบทความสองสามข้อเกี่ยวกับวิธีการทำงานของ CORS ก่อนอื่นฉันทำสิ่งนี้ (รหัสถูกเขียนด้วยไวยากรณ์ CoffeeScript): app.options "*", (req, res) -> res.header 'Access-Control-Allow-Origin', '*' res.header 'Access-Control-Allow-Credentials', true # try: 'POST, GET, PUT, DELETE, OPTIONS' res.header 'Access-Control-Allow-Methods', 'GET, OPTIONS' # try: 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept' res.header 'Access-Control-Allow-Headers', 'Content-Type' # ... ดูเหมือนจะไม่ทำงาน ดูเหมือนว่าเบราว์เซอร์ของฉัน (Chrome) ไม่ได้ส่งคำขอตัวเลือกเริ่มต้น เมื่อฉันเพิ่งอัปเดตบล็อกสำหรับทรัพยากรฉันต้องส่งคำขอ …

17
ข้อผิดพลาด XmlHttpRequest: Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
ฉันกำลังพัฒนาหน้าที่ดึงภาพจาก Flickr และ Panoramio ผ่านการสนับสนุน AJAX ของ jQuery ด้าน Flickr ทำงานได้ดี แต่เมื่อฉันลอง$.get(url, callback)จาก Panoramio ฉันเห็นข้อผิดพลาดในคอนโซลของ Chrome: XMLHttpRequest ไม่สามารถโหลดhttp://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150 Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin หากฉันค้นหา URL นั้นจากเบราว์เซอร์โดยตรงจะทำงานได้ดี เกิดอะไรขึ้นและฉันจะแก้ไขสิ่งนี้ได้อย่างไร ฉันเขียนข้อความค้นหาไม่ถูกต้องหรือนี่คือสิ่งที่ Panoramio ทำเพื่อขัดขวางสิ่งที่ฉันพยายามทำ Google ไม่ได้เปิดขึ้นตรงกับประโยชน์ใด ๆ เกี่ยวกับข้อผิดพลาด แก้ไข นี่คือตัวอย่างรหัสบางส่วนที่แสดงปัญหา: $().ready(function () { var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150'; $.get(url, function (jsonp) { var processImages = function …

10
ไม่มีส่วนหัว 'Access-Control-Allow-Origin' ในทรัพยากรที่ร้องขอ - เมื่อพยายามรับข้อมูลจาก REST API
ฉันพยายามดึงข้อมูลจาก REST API ของ HP Alm มันทำงานได้ค่อนข้างดีด้วยสคริปต์ม้วนเล็ก ๆ - ฉันได้รับข้อมูลของฉัน ตอนนี้การทำเช่นนั้นกับ JavaScript, การดึงข้อมูลและ ES6 (มากกว่าหรือน้อยกว่า) ดูเหมือนจะเป็นปัญหาที่ใหญ่กว่า ฉันได้รับข้อความแสดงข้อผิดพลาดนี้: Fetch API ไม่สามารถโหลดได้ การตอบสนองต่อคำขอ preflight ไม่ผ่านการตรวจสอบการควบคุมการเข้าถึง: ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ แหล่งกำเนิด ' http://127.0.0.1:3000 ' จึงไม่ได้รับอนุญาตให้เข้าถึง การตอบกลับมีรหัสสถานะ HTTP 501 หากการตอบกลับทึบแสงตอบสนองความต้องการของคุณให้ตั้งค่าโหมดคำขอเป็น 'ไม่คอร์' เพื่อดึงข้อมูลทรัพยากรโดยปิดการใช้งาน CORS ฉันเข้าใจว่าเป็นเพราะฉันพยายามดึงข้อมูลจากภายในเครื่องของฉันและวิธีแก้ปัญหาควรใช้ CORS ตอนนี้ฉันคิดว่าฉันทำอย่างนั้นจริง แต่อย่างใดมันไม่สนใจสิ่งที่ฉันเขียนในส่วนหัวหรือปัญหาเป็นอย่างอื่น? ดังนั้นจะมีปัญหาการใช้งานหรือไม่ ฉันทำผิดหรือเปล่า? ฉันไม่สามารถตรวจสอบบันทึกเซิร์ฟเวอร์ได้ ฉันติดอยู่ตรงนี้จริงๆ function performSignIn() { let …

21
การตอบสนองต่อคำขอ preflight ไม่ผ่านการตรวจสอบการควบคุมการเข้าถึง
ฉันได้รับข้อผิดพลาดนี้โดยใช้ ngResource โทรหา REST API บน Amazon Web Services: XMLHttpRequest ไม่สามารถโหลด http://server.apiurl.com:8000/s/login?login=facebook การตอบสนองต่อคำขอ preflight ไม่ผ่านการตรวจสอบการควบคุมการเข้าถึง: ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ แหล่งกำเนิด ' http: // localhost ' จึงไม่ได้รับอนุญาตให้เข้าถึง ข้อผิดพลาด 405 บริการ: socialMarkt.factory('loginService', ['$resource', function($resource){ var apiAddress = "http://server.apiurl.com:8000/s/login/"; return $resource(apiAddress, { login:"facebook", access_token: "@access_token" ,facebook_id: "@facebook_id" }, { getUser: {method:'POST'} }); }]); ควบคุม: …

14
ทำไมคำขอ OPTIONS ถึงส่งมาและฉันจะปิดได้อย่างไร
ฉันกำลังสร้างเว็บ API ฉันพบว่าเมื่อใดก็ตามที่ฉันใช้ Chrome เพื่อ POST รับ API ของฉันมีคำขอ OPTIONS ส่งมาก่อนคำขอจริงซึ่งมักจะน่ารำคาญ ขณะนี้ฉันได้รับเซิร์ฟเวอร์ให้เพิกเฉยต่อคำขอ OPTIONS ตอนนี้คำถามของฉันคือสิ่งที่ดีที่จะส่งคำขอ OPTIONS เพื่อเพิ่มภาระของเซิร์ฟเวอร์เป็นสองเท่า มีวิธีใดบ้างที่จะหยุดเบราว์เซอร์ไม่ให้ส่งคำขอ OPTIONS ได้อย่างสมบูรณ์?
415 http  cors  options 

10
CORS - แรงจูงใจเบื้องหลังการแนะนำคำขอ preflight คืออะไร?
การแบ่งปันทรัพยากรข้ามแหล่งกำเนิดเป็นกลไกที่อนุญาตให้เว็บเพจสร้าง XMLHttpRequests ไปยังโดเมนอื่น (จากวิกิพีเดีย ) ฉันเล่นซอกับ CORS ในสองสามวันที่ผ่านมาและฉันคิดว่าฉันมีความเข้าใจที่ดีเกี่ยวกับการทำงานทุกอย่าง ดังนั้นคำถามของฉันไม่ได้เกี่ยวกับวิธีการที่ล ธ / ทำงาน preflight มันเป็นเรื่องของเหตุผลที่อยู่เบื้องหลังขึ้นมาพร้อมกับ preflights เป็นชนิดคำขอใหม่ ฉันไม่เห็นเหตุผลใด ๆ ว่าทำไมเซิร์ฟเวอร์ A ต้องส่ง preflight (PR) ไปยังเซิร์ฟเวอร์ B เพื่อตรวจสอบว่าคำขอจริง (RR) จะได้รับการยอมรับหรือไม่ - แน่นอนว่า B จะยอมรับ / ปฏิเสธ RR ได้โดยไม่ต้อง PR ก่อนหน้าใด ๆ หลังจากค้นหาค่อนข้างน้อยฉันพบข้อมูลชิ้นนี้ที่ www.w3.org (7.1.5): เพื่อปกป้องทรัพยากรจากการร้องขอข้ามแหล่งกำเนิดที่ไม่สามารถเกิดขึ้นจากตัวแทนผู้ใช้บางรายก่อนที่ข้อมูลจำเพาะนี้จะมีการร้องขอ preflight ถูกสร้างขึ้นเพื่อให้แน่ใจว่าทรัพยากรตระหนักถึงข้อกำหนดนี้ ฉันคิดว่านี่เป็นประโยคที่เข้าใจยากที่สุดเท่าที่เคยมีมา การตีความของฉัน (ควรเรียกว่า 'เดาได้ดีที่สุด') คือการปกป้องเซิร์ฟเวอร์ …
366 ajax  html  http  cors  preflight 

3
อะไรคือความซื่อสัตย์และคุณลักษณะของผู้ผสมข้ามพันธุ์?
Bootstrapcdn เพิ่งเปลี่ยนลิงค์ของพวกเขา ตอนนี้ดูเหมือนว่านี้: <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-MfvZlkHCEqatNoGiOXveE8FIwMzZg4W85qfrfIFBfYc= sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous"> ทำอะไรintegrityและcrossoriginแอตทริบิวต์เฉลี่ย? พวกเขามีผลต่อการโหลดสไตล์ชีทอย่างไร

18
Origin ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
ฉันกำลังAjax.requestเข้าสู่เซิร์ฟเวอร์ PHP ระยะไกลในแอปพลิเคชันSencha Touch 2 (รวมอยู่ในPhoneGap ) การตอบสนองจากเซิร์ฟเวอร์ต่อไปนี้: XMLHttpRequest ไม่สามารถโหลดhttp://nqatalog.negroesquisso.pt/login.php Origin http://localhost:8888ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin ฉันจะแก้ไขปัญหานี้ได้อย่างไร

11
การเข้าถึง - การควบคุม - อนุญาต - กำเนิดโดเมนย่อยไวด์การ์ด, พอร์ตและโปรโตคอล
ฉันพยายามเปิดใช้งาน CORS สำหรับโดเมนย่อยพอร์ตและโปรโตคอลทั้งหมด ตัวอย่างเช่นฉันต้องการให้สามารถเรียกใช้คำขอ XHR จากhttp://sub.mywebsite.com:8080/ไปยังhttps://www.mywebsite.com/ * โดยทั่วไปฉันต้องการเปิดใช้งานคำขอจากการจับคู่ต้นกำเนิด (และ จำกัด เฉพาะ): //*.mywebsite.com:*/*
312 cors 


7
CORS: ไม่สามารถใช้อักขระตัวแทนใน Access-Control-Allow-Origin เมื่อการตั้งค่าสถานะหนังสือรับรองเป็นจริง
ฉันมีการตั้งค่าที่เกี่ยวข้อง เซิร์ฟเวอร์ส่วนหน้า (Node.js, โดเมน: localhost: 3000) <---> แบ็กเอนด์ (Django, Ajax, โดเมน: localhost: 8000) เบราว์เซอร์ <- webapp <- Node.js (ให้บริการแอป) เบราว์เซอร์ (webapp) -> Ajax -> Django (ทำหน้าที่ร้องขอ ajax POST) ตอนนี้ปัญหาของฉันที่นี่คือการตั้งค่า CORS ซึ่ง webapp ใช้ในการโทร Ajax ไปยังเซิร์ฟเวอร์เบื้องหลัง ในโครเมียมฉันได้รับ ไม่สามารถใช้ wildcard ใน Access-Control-Allow-Origin เมื่อการตั้งค่าสถานะหนังสือรับรองเป็นจริง ไม่ทำงานกับ firefox เช่นกัน การตั้งค่า Node.js ของฉันคือ: var allowCrossDomain = …

14
AngularJS ดำเนินการร้องขอ OPTIONS HTTP สำหรับทรัพยากรข้ามแหล่ง
ฉันกำลังพยายามตั้งค่า AngularJS เพื่อสื่อสารกับทรัพยากรข้ามแหล่งที่ซึ่งโฮสต์สินทรัพย์ที่ส่งไฟล์เทมเพลตของฉันอยู่ในโดเมนอื่นดังนั้น XHR ขอให้ดำเนินการเชิงมุมจะต้องข้ามโดเมน ฉันได้เพิ่มส่วนหัว CORS ที่เหมาะสมลงในเซิร์ฟเวอร์ของฉันสำหรับคำขอ HTTP เพื่อให้ทำงานได้ แต่ดูเหมือนจะไม่ทำงาน ปัญหาคือเมื่อฉันตรวจสอบคำขอ HTTP ในเบราว์เซอร์ของฉัน (chrome) คำขอที่ส่งไปยังไฟล์เนื้อหาคือคำขอ OPTIONS (ควรเป็นคำขอ GET) ฉันไม่แน่ใจว่านี่เป็นข้อผิดพลาดใน AngularJS หรือไม่ถ้าฉันต้องการกำหนดค่าบางอย่าง จากสิ่งที่ฉันเข้าใจว่า XHR wrapper ไม่สามารถทำการร้องขอ OPTIONS HTTP ดังนั้นดูเหมือนว่าเบราว์เซอร์กำลังพยายามหาว่า "อนุญาต" เพื่อดาวน์โหลดเนื้อหาก่อนหรือไม่ก่อนที่จะดำเนินการตามคำขอ GET หากเป็นกรณีนี้ฉันจำเป็นต้องตั้งค่าส่วนหัว CORS (การควบคุมการเข้าถึงอนุญาตให้กำเนิด: http://asset.host .. .) กับโฮสต์สินทรัพย์ด้วยหรือไม่

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