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

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

12
ไม่มี 'การเข้าถึงการควบคุมอนุญาตให้กำเนิด' - ปัญหาพอร์ต Node / Apache
ฉันสร้าง API ขนาดเล็กโดยใช้ Node / Express และพยายามดึงข้อมูลโดยใช้ Angularjs แต่เนื่องจากหน้า html ของฉันทำงานภายใต้ apache บน localhost: 8888 และ API ของโหนดรับฟังบนพอร์ต 3000 ฉันได้รับ 'การควบคุมการเข้าถึง - ไม่ อนุญาตให้-กำเนิด ฉันพยายามใช้ node-http-proxyและ Vhosts Apache แต่ไม่ค่อยประสบความสำเร็จโปรดดูข้อผิดพลาดและรหัสด้านล่าง XMLHttpRequest ไม่สามารถโหลด localhost: 3000 ไม่มีส่วนหัว 'Access-Control-Allow-Origin' บนทรัพยากรที่ร้องขอ Origin 'localhost: 8888' จึงไม่ได้รับอนุญาตให้เข้าถึง " // Api Using Node/Express var express = require('express'); var …

19
คำขอส่วนหัวฟิลด์ Access-Control-Allow-Headers ไม่ได้รับอนุญาตด้วยตัวเองในการตอบสนอง preflight
ฉันเจอปัญหา CORS หลายครั้งและมักจะแก้ไขได้ แต่ฉันต้องการที่จะเข้าใจจริงๆโดยเห็นสิ่งนี้จากกระบวนทัศน์สแต็กหมายถึง ก่อนที่ฉันจะเพิ่มมิดเดิลแวร์ในเซิร์ฟเวอร์ด่วนของฉันเพื่อจับสิ่งเหล่านี้ แต่ดูเหมือนว่ามีตะขอบางประเภทที่ผิดพลาดคำขอของฉัน คำขอส่วนหัวฟิลด์ Access-Control-Allow-Headers ไม่ได้รับอนุญาตจาก Access-Control-Allow-Headers ในการตอบกลับ preflight ฉันคิดว่าฉันสามารถทำได้: app.use(function(req, res, next) { res.header("Access-Control-Allow-Headers","*") }) หรือสิ่งที่เทียบเท่า แต่ดูเหมือนจะไม่สามารถแก้ไขได้ ฉันยังพยายามแน่นอน app.use(function(req, res, next) { res.header("Access-Control-Allow-Headers","Access-Control-Allow-Headers") }) ยังไม่มีโชค
234 express  cors  meanjs 

14
คำขอส่วนหัวฟิลด์ Access-Control-Allow-Headers ไม่ได้รับอนุญาตจาก Access-Control-Allow-Headers
ฉันกำลังพยายามส่งไฟล์ไปยังเซิร์ฟเวอร์ของฉันด้วยคำขอโพสต์ แต่เมื่อมันส่งมันทำให้เกิดข้อผิดพลาด: ช่องคำขอส่วนหัวเนื้อหาไม่ได้รับอนุญาตจาก Access-Control-Allow-Headers ดังนั้นฉันจึงไปที่ข้อผิดพลาดและเพิ่มส่วนหัว: $http.post($rootScope.URL, {params: arguments}, {headers: { "Access-Control-Allow-Origin" : "*", "Access-Control-Allow-Methods" : "GET,POST,PUT,DELETE,OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With" } จากนั้นฉันได้รับข้อผิดพลาด: ช่องคำขอส่วนหัว Access-Control-Allow-Origin ไม่ได้รับอนุญาตจาก Access-Control-Allow-Headers ดังนั้นฉันจึงค้นหาและคำถามที่คล้ายกันเพียงข้อเดียวที่ฉันพบก็คือให้คำตอบเพียงครึ่งเดียวจากนั้นปิดหัวข้อ ฉันควรจะเพิ่ม / ลบส่วนหัวใด

3
จุดประสงค์ของส่วนหัว X-Requested-With คืออะไร
JQuery และกรอบงานอื่น ๆ เพิ่มหัวข้อต่อไปนี้: X- ร้องขอด้วย: XMLHttpRequest ทำไมถึงจำเป็น เหตุใดเซิร์ฟเวอร์จึงต้องการจัดการคำขอ AJAX แตกต่างจากคำขอปกติ UPDATE : ฉันเพิ่งพบเป็นตัวอย่างในชีวิตจริงโดยใช้ส่วนหัวนี้: https://core.spreedly.com/manual/payment-methods/adding-with-js หากมีการร้องขอตัวประมวลผลการชำระเงินโดยไม่มี AJAX ตัวประมวลผลการชำระเงินจะเปลี่ยนเส้นทางกลับไปยังเว็บไซต์ดั้งเดิมเมื่อดำเนินการเสร็จ เมื่อมีการร้องขอด้วย AJAX จะไม่มีการเปลี่ยนเส้นทาง

11
วิธีรับคำขอโพสต์การแชร์ทรัพยากรข้ามแหล่ง (CORS) ทำงาน
ฉันมีเครื่องบน LAN ท้องถิ่นของฉัน (machineA) ที่มีเว็บเซิร์ฟเวอร์สองเครื่อง ที่แรกก็คือที่สร้างขึ้นใน XBMC (บนพอร์ต 8080) และแสดงห้องสมุดของเรา เซิร์ฟเวอร์ตัวที่สองเป็นสคริปต์ python ของ CherryPy (พอร์ต 8081) ที่ฉันใช้เพื่อทริกเกอร์การแปลงไฟล์แบบออนดีมานด์ การแปลงไฟล์จะถูกเรียกใช้โดยคำขอ AJAX POST จากหน้าที่ให้บริการจากเซิร์ฟเวอร์ XBMC ไปที่http: // machineA: 8080ซึ่งแสดงไลบรารี่ ห้องสมุดจะปรากฏขึ้น ผู้ใช้คลิกที่ลิงค์ 'แปลง' ซึ่งออกคำสั่งดังต่อไปนี้ - คำขอ jQuery Ajax $.post('http://machineA:8081', {file_url: 'asfd'}, function(d){console.log(d)}) เบราว์เซอร์ออกคำขอ HTTP OPTIONS กับส่วนหัวต่อไปนี้ ส่วนหัวขอ - ตัวเลือก Host: machineA:8081 User-Agent: ... Firefox/4.01 …
216 jquery  ajax  cherrypy  cors 

9
ไม่อนุญาตให้ใช้ XMLHttpRequest Origin Null สำหรับ Access-Control-Allow-Origin สำหรับไฟล์: /// ไปที่ file: /// (Serverless)
ฉันกำลังพยายามสร้างเว็บไซต์ที่สามารถดาวน์โหลดและรันภายในเครื่องได้โดยเปิดไฟล์ดัชนี ไฟล์ทั้งหมดเป็นไฟล์ในเครื่องไม่มีทรัพยากรที่ใช้งานออนไลน์ เมื่อฉันพยายามใช้ปลั๊กอิน AJAXSLT สำหรับ jQuery เพื่อประมวลผลไฟล์ XML ด้วยเทมเพลต XSL (ในไดเรกทอรีย่อย) ฉันได้รับข้อผิดพลาดดังต่อไปนี้: XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/data/home.xml. Origin null is not allowed by Access-Control-Allow-Origin. XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/assets/xsl/main.xsl. Origin null is not allowed by Access-Control-Allow-Origin. แฟ้มดัชนีการขอคือfile:///C:/path/to/XSL%20Website/index.htmlในขณะที่ไฟล์ JavaScript file:///C:/path/to/XSL%20Website/assets/js/ที่ใช้จะถูกเก็บไว้ใน ฉันจะแก้ไขปัญหานี้ได้อย่างไร

14
การตั้งค่า Access-Control-Allow-Origin ใน ASP.Net MVC ซึ่งเป็นวิธีที่ง่ายที่สุด
ฉันมีวิธีการง่ายๆที่จะคืนค่า json มันทำงานบน ajax.example.com ฉันต้องการเข้าถึงสิ่งนี้จากเว็บไซต์อื่น someothersite.com หากฉันพยายามโทรหาฉันจะได้รับสิ่งที่คาดหวัง ... : Origin http://someothersite.com is not allowed by Access-Control-Allow-Origin. ฉันรู้วิธีที่จะหลีกเลี่ยงสองวิธีนี้: JSONPและสร้างHttpHandler ที่กำหนดเองเพื่อตั้งค่าส่วนหัว ไม่มีวิธีที่ง่ายกว่านี้ไหม? เป็นไปไม่ได้หรือที่การกระทำอย่างง่าย ๆ ในการกำหนดรายการของต้นกำเนิดที่ได้รับอนุญาต - หรือเป็นการง่ายสำหรับทุกคน? อาจเป็นตัวกรองการกระทำหรือไม่ เหมาะสมที่สุดคือ ... : return json(mydata, JsonBehaviour.IDontCareWhoAccessesMe);

6
วิธีการหลีกเลี่ยง Access-Control-Allow-Origin?
ฉันกำลังโทร ajax ไปยังเซิร์ฟเวอร์ของฉันเองบนแพลตฟอร์มที่พวกเขาตั้งป้องกันการโทร ajax เหล่านี้ (แต่ฉันต้องการเรียกข้อมูลจากเซิร์ฟเวอร์ของฉันเพื่อแสดงข้อมูลที่ดึงมาจากฐานข้อมูลของเซิร์ฟเวอร์ของฉัน) สคริปต์ ajax ของฉันทำงานได้สามารถส่งข้อมูลไปยังสคริปต์ php ของเซิร์ฟเวอร์ของฉันเพื่อให้สามารถประมวลผลได้ อย่างไรก็ตามไม่สามารถรับข้อมูลที่ประมวลผลกลับมาได้เนื่องจากถูกบล็อกโดย"Access-Control-Allow-Origin" ฉันไม่สามารถเข้าถึงซอร์ส / คอร์ของแพลตฟอร์มนั้นได้ ดังนั้นฉันจึงไม่สามารถลบสคริปต์ที่ไม่อนุญาตให้ทำเช่นนั้น (P / SI ใช้คอนโซลของ Google Chrome และพบข้อผิดพลาดนี้) รหัส Ajax ที่แสดงด้านล่าง: $.ajax({ type: "GET", url: "http://example.com/retrieve.php", data: "id=" + id + "&url=" + url, dataType: 'json', cache: false, success: function(data) { var friend = data[1]; …
198 javascript  php  jquery  ajax  cors 

26
วิธีเปิดใช้งาน CORS ใน ASP.net Core WebAPI
สิ่งที่ฉันพยายามทำ ฉันมี ASP.Net Core Web API แบ็กเอนด์ที่โฮสต์บน Azure Free Plan (ซอร์สโค้ด: https://github.com/killerrin/Portfolio-Backend ) ฉันมีเว็บไซต์ลูกค้าที่ฉันต้องการใช้ API นั้น แอปพลิเคชันไคลเอนต์จะไม่ถูกโฮสต์บน Azure แต่จะถูกโฮสต์บน Github Pages หรือบริการเว็บโฮสติ้งอื่นที่ฉันสามารถเข้าถึงได้ ด้วยเหตุนี้ชื่อโดเมนจะไม่ตรง เมื่อมองถึงสิ่งนี้ฉันต้องเปิดใช้งาน CORS ทางฝั่ง Web API แต่ฉันได้ลองทุกอย่างเป็นเวลาหลายชั่วโมงแล้วและปฏิเสธที่จะทำงาน ฉันมีการตั้งค่าไคลเอนต์ มันเป็นเพียงลูกค้าที่เรียบง่ายเขียนใน React.js ฉันกำลังเรียก API ผ่าน AJAX ใน Jquery ไซต์ React ใช้งานได้ดังนั้นฉันจึงไม่ทราบ การเรียก API ของ Jquery ทำงานได้ตามที่ฉันยืนยันในความพยายามที่ 1 นี่คือวิธีการโทร var apiUrl …

23
S3 - การเข้าถึงการควบคุมการอนุญาตส่วนหัว
ไม่มีใครจัดการเพื่อเพิ่มAccess-Control-Allow-Originไปยังส่วนหัวการตอบสนองหรือไม่? สิ่งที่ฉันต้องการคือสิ่งนี้: <img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" /> คำขอรับนี้ควรมีในการตอบสนองส่วนหัว Access-Control-Allow-Origin: * การตั้งค่า CORS ของฉันสำหรับที่เก็บข้อมูลมีลักษณะดังนี้: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration> ตามที่คุณอาจคาดหวังว่าจะไม่มีOriginส่วนหัวการตอบสนอง

7
CORS ร้ายแรงเมื่อ http: // localhost เป็นจุดกำเนิด
ฉันติดอยู่กับปัญหา CORS นี้แม้ว่าฉันจะตั้งเซิร์ฟเวอร์ (nginx / node.js) ด้วยส่วนหัวที่เหมาะสม ฉันเห็นในบานหน้าต่างเครือข่าย Chrome -> ส่วนหัวการตอบกลับ: Access-Control-Allow-Origin:http://localhost ซึ่งควรทำเคล็ดลับ นี่คือรหัสที่ฉันใช้ในการทดสอบ: var xhr = new XMLHttpRequest(); xhr.onload = function() { console.log('xhr loaded'); }; xhr.open('GET', 'http://stackoverflow.com/'); xhr.send(); ฉันเข้าใจ XMLHttpRequest ไม่สามารถโหลดhttp://stackoverflow.com/ Origin http: // localhostไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin ฉันสงสัยว่าเป็นปัญหาในสคริปต์ไคลเอ็นต์และไม่ใช่การกำหนดค่าเซิร์ฟเวอร์ ...

7
Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
ฉันได้สร้างไฟล์ xslt ขนาดเล็กเพื่อสร้างเอาต์พุต html ชื่อ weather.xsl พร้อมรหัสดังนี้: <!-- DWXMLSource="http://weather.yahooapis.com/forecastrss?w=38325&u=c" --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="yweather" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="/"> <img src="{/*/*/item/yweather:condition/@text}.jpg"/> </xsl:template> </xsl:stylesheet> ฉันต้องการโหลดผลลัพธ์ html เป็น div ในไฟล์ html ที่ฉันพยายามทำโดยใช้ jQuery ดังนี้ <div id="result"> <script type="text/javascript"> $('#result').load('weather.xsl'); </script> </div> แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: Origin null ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin ฉันได้อ่านเกี่ยวกับการเพิ่มส่วนหัวใน xslt …

16
Origin <origin> ไม่ได้รับอนุญาตจาก Access-Control-Allow-Origin
XMLHttpRequest cannot load http://localhost:8080/api/test. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin. ฉันอ่านเกี่ยวกับคำขออาแจ็กซ์ข้ามโดเมนและเข้าใจปัญหาความปลอดภัยพื้นฐาน ในกรณีของฉันมีเซิร์ฟเวอร์ 2 เครื่องกำลังทำงานอยู่ภายในเครื่องและต้องการเปิดใช้งานคำขอข้ามโดเมนระหว่างการทดสอบ localhost:8080 - Google Appengine dev server localhost:3000 - Node.js server ฉันกำลังออกคำร้องขอ ajax localhost:8080 - GAE serverขณะที่เพจของฉันโหลดจากเซิร์ฟเวอร์โหนด สิ่งที่ง่ายที่สุดและปลอดภัยที่สุด (ไม่ต้องการเริ่มด้วยdisable-web-securityตัวเลือกchrome ) ถ้าฉันต้องเปลี่ยน'Content-Type'ฉันควรทำที่โหนดเซิร์ฟเวอร์หรือไม่ อย่างไร?

4
การตอบสนองแบบทึบคืออะไรและมีจุดประสงค์อะไร
ฉันพยายามfetchURL ของเว็บไซต์เก่าและเกิดข้อผิดพลาด: Fetch API cannot load http://xyz. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://abc' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. ฉันเข้าใจข้อความและพยายามทำคำขอที่ส่งคืนการตอบกลับที่ทึบแสง: fetch("http://xyz", {'mode': 'no-cors'}) ตกลงตอนนี้มันใช้งานได้ ... แต่ฉันอ่านไม่ออก …
172 cors  fetch-api 

1
ส่วนหัวของ Access-Control-Allow-Credentials ทำอะไรกันแน่?
ฉันพยายามที่จะเข้าใจวิธีการใช้ CORS และสับสนเกี่ยวกับสิ่งที่Access-Control-Allow-Credentialsส่วนหัวทำ เอกสารกล่าวว่า ระบุว่าการตอบกลับคำขอสามารถถูกเปิดเผยได้หรือไม่เมื่อการตั้งค่าสถานะหนังสือรับรองเป็นจริง แต่ฉันไม่เข้าใจความหมายของคำตอบที่ "เปิดเผย" ทุกคนสามารถอธิบายว่าส่วนหัวนี้ถูกตั้งค่าเป็นจริง (ร่วมกับการตั้งค่าข้อมูลประจำตัวการตั้งค่าเป็นจริง) จริงหรือไม่
167 http-headers  cors 

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