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

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

4
เปิดใช้งานการควบคุมการเข้าถึงบนเซิร์ฟเวอร์ HTTP แบบง่าย
ฉันมีเชลล์สคริปต์ต่อไปนี้สำหรับเซิร์ฟเวอร์ HTTP ที่เรียบง่ายมาก: #!/bin/sh echo "Serving at http://localhost:3000" python -m SimpleHTTPServer 3000 ฉันสงสัยว่าฉันจะเปิดหรือเพิ่มส่วนหัว CORSเช่นAccess-Control-Allow-Origin: *เซิร์ฟเวอร์นี้ได้อย่างไร?

5
CORS Access-Control-Allow-Headers wildcard ถูกละเว้น?
ฉันมีปัญหาในการขอ CORS ข้ามโดเมนเพื่อให้ทำงานได้อย่างถูกต้องโดยใช้ Chrome ขอส่วนหัว: Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:origin, content-type Access-Control-Request-Method:POST Connection:keep-alive User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 ส่วนหัวการตอบกลับ: Access-Control-Allow-Headers:* Access-Control-Allow-Origin:* Allow:GET, POST, OPTIONS Content-Length:0 Date:Tue, 30 Oct 2012 20:04:28 GMT Server:BaseHTTP/0.3 Python/2.7.3 ข้อผิดพลาด: XMLHttpRequest cannot load domain. Request header field Content-Type …
119 http  browser  cors 

15
Firefox 'คำขอข้ามแหล่งกำเนิดถูกบล็อก' แม้จะมีส่วนหัว
ฉันกำลังพยายามส่งคำขอข้ามแหล่งที่มาอย่างง่ายและ Firefox ก็บล็อกมันอย่างต่อเนื่องโดยมีข้อผิดพลาดนี้: คำขอข้ามแหล่งที่มาถูกบล็อก: นโยบายต้นทางเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ [url] สามารถแก้ไขได้โดยการย้ายทรัพยากรไปยังโดเมนเดียวกันหรือเปิดใช้งาน CORS [url] ทำงานได้ดีใน Chrome และ Safari เท่าที่ฉันสามารถบอกได้ว่าฉันตั้งค่าส่วนหัวที่ถูกต้องทั้งหมดบน PHP ของฉันเพื่อให้สามารถใช้งานได้ นี่คือสิ่งที่เซิร์ฟเวอร์ของฉันตอบสนอง 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 …

1
วิธีกรอง (ซ่อน) คำขอก่อนการบินบนเครือข่าย Dev Tools ของฉัน
โดยปกติจะแสดงการโทรทั้งสองสายการบินล่วงหน้าและคำขอจริง นี่เป็นบางครั้งที่น่ารำคาญ มีวิธีซ่อนคำขอก่อนเที่ยวบินหรือไม่? หรือมีปลั๊กอินสำหรับกรองคำขอบางอย่างตามส่วนหัวหรือไม่?

9
XMLHttpRequest ไม่สามารถโหลดส่วนหัว XXX No 'Access-Control-Allow-Origin'
tl; dr; เกี่ยวกับนโยบายแหล่งกำเนิดเดียวกัน ฉันมีกระบวนการ Grunt ซึ่งเริ่มต้นอินสแตนซ์ของเซิร์ฟเวอร์ express.js สิ่งนี้ใช้งานได้ดีจนถึงตอนนี้เมื่อเริ่มแสดงหน้าว่างโดยมีสิ่งต่อไปนี้ปรากฏในบันทึกข้อผิดพลาดในคอนโซลของนักพัฒนาซอฟต์แวร์ใน Chrome (เวอร์ชันล่าสุด): XMLHttpRequest ไม่สามารถโหลดhttps://www.example.com/ ไม่มีส่วนหัว 'Access-Control-Allow-Origin' อยู่ในทรัพยากรที่ร้องขอ Origin ' http: // localhost: 4300 ' จึงไม่ได้รับอนุญาตให้เข้าถึง อะไรทำให้ฉันไม่สามารถเข้าถึงเพจได้

8
ฉันจะเปิดใช้งาน CORS บน Django REST Framework ได้อย่างไร
ฉันจะเปิดใช้งาน CORS บน Django REST Framework ได้อย่างไร การอ้างอิงไม่ได้ช่วยอะไรมากนักมันบอกว่าฉันสามารถทำได้โดยมิดเดิลแวร์ แต่ฉันจะทำเช่นนั้นได้อย่างไร

5
ดังนั้น JSONP หรือ CORS? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ WebAPI ของฉันถูกปรับใช้ในสภาพแวดล้อมอินทราเน็ต นั่นหมายความว่าการรักษาความปลอดภัยก็ไม่ได้กังวลของฉัน มันดูเหมือนว่า ธ เป็นมิตรมากขึ้นให้กับลูกค้าและง่ายต่อการใช้ มีข้อกังวลอื่นใดที่ฉันอาจพลาดไป?

7
ปิดใช้งานการรักษาความปลอดภัยเว็บข้ามโดเมนใน Firefox
ใน Firefox ฉันจะทำสิ่งที่เทียบเท่า--disable-web-securityใน Chrome ได้อย่างไร มีการโพสต์จำนวนมาก แต่ไม่เคยมีคำตอบที่แท้จริง ส่วนใหญ่เป็นลิงก์ไปยังส่วนเสริม (บางส่วนใช้ไม่ได้ใน Firefox รุ่นล่าสุดหรือใช้งานไม่ได้เลย) และ "คุณต้องเปิดใช้งานการสนับสนุนบนเซิร์ฟเวอร์" นี่เป็นการทดสอบชั่วคราว ฉันทราบถึงผลกระทบด้านความปลอดภัย ฉันไม่สามารถเปิด CORS บนเซิร์ฟเวอร์ได้และโดยเฉพาะอย่างยิ่งฉันจะไม่สามารถอนุญาต localhost หรือสิ่งที่คล้ายกันได้ ค่าสถานะหรือการตั้งค่าหรือบางอย่างจะดีกว่าปลั๊กอิน ฉันยังลอง: http://www-jo.se/f.pfleger/forcecorsแต่ต้องมีบางอย่างผิดปกติเนื่องจากคำขอของฉันกลับมาว่างเปล่าโดยสิ้นเชิง แต่คำขอเดียวกันใน Chrome กลับมาใช้ได้ อีกครั้งนี่เป็นเพียงการทดสอบก่อนที่จะผลักดันไปยัง prod ซึ่งจะอยู่ในโดเมนที่อนุญาต

18
API Gateway CORS: ไม่มีส่วนหัว 'Access-Control-Allow-Origin'
แม้ว่า CORS จะได้รับการตั้งค่าผ่าน API Gateway และAccess-Control-Allow-Originตั้งค่าส่วนหัวแล้ว แต่ฉันยังคงได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามเรียก API จาก AJAX ภายใน Chrome: XMLHttpRequest ไม่สามารถโหลดhttp://XXXXX.execute-api.us-west-2.amazonaws.com/beta/YYYYY ไม่มีส่วนหัว "Access-Control-Allow-Origin" ในทรัพยากรที่ร้องขอ Origin 'null' จึงไม่อนุญาตให้เข้าถึง การตอบสนองมีรหัสสถานะ HTTP 403 ฉันพยายามรับ URL ผ่านบุรุษไปรษณีย์และแสดงให้เห็นว่าส่วนหัวด้านบนถูกส่งผ่านเรียบร้อยแล้ว: และจากการตอบกลับของ OPTIONS: ฉันจะเรียก API จากเบราว์เซอร์โดยไม่เปลี่ยนกลับเป็น JSON-P ได้อย่างไร

16
ส่วนหัว "Access-Control-Allow-Origin" มีหลายค่า
ฉันใช้ AngularJS $ http ทางฝั่งไคลเอ็นต์เพื่อเข้าถึงจุดสิ้นสุดของแอปพลิเคชัน ASP.NET Web API ทางฝั่งเซิร์ฟเวอร์ เนื่องจากไคลเอนต์โฮสต์บนโดเมนอื่นเป็นเซิร์ฟเวอร์ฉันจึงต้องการ CORS ใช้งานได้กับ $ http.post (url, data) แต่ทันทีที่ฉันตรวจสอบสิทธิ์ผู้ใช้และส่งคำขอผ่าน $ http.get (url) ฉันก็ได้รับข้อความ ส่วนหัว "Access-Control-Allow-Origin" มีหลายค่า "http://127.0.0.1:9000, http://127.0.0.1:9000" แต่อนุญาตเพียงค่าเดียวเท่านั้น Origin 'http://127.0.0.1:9000' จึงไม่ได้รับอนุญาตให้เข้าถึง Fiddler แสดงให้ฉันเห็นว่ามีรายการส่วนหัวสองรายการในคำขอรับหลังจากคำขอตัวเลือกสำเร็จ ฉันทำอะไรผิดพลาดที่ไหนและที่ไหน อัปเดต เมื่อฉันใช้ jQuery $ .get แทน $ http.get ข้อความแสดงข้อผิดพลาดเดียวกันจะปรากฏขึ้น ดูเหมือนว่าจะไม่มีปัญหากับ AngularJS แต่มันผิดตรงไหน?

2
การป้องกัน CSRF ด้วยส่วนหัว CORS Origin เทียบกับโทเค็น CSRF
คำถามนี้เกี่ยวกับการป้องกันการโจมตีด้วยการปลอมแปลงคำขอข้ามไซต์เท่านั้น โดยเฉพาะเกี่ยวกับ: การป้องกันผ่านส่วนหัว Origin (CORS) ดีเท่ากับการป้องกันผ่านโทเค็น CSRF หรือไม่? ตัวอย่าง: อลิซเข้าสู่ระบบ (โดยใช้คุกกี้) ด้วยเบราว์เซอร์ของเธอไปที่ " https://example.com " ฉันคิดว่าเธอใช้เบราว์เซอร์ที่ทันสมัย อลิซไปที่ " https://evil.com " และโค้ดฝั่งไคลเอ็นต์ของ evil.com ดำเนินการขอ " https://example.com " (สถานการณ์ CSRF แบบคลาสสิก) ดังนั้น: หากเราไม่ตรวจสอบส่วนหัว Origin (ฝั่งเซิร์ฟเวอร์) และไม่มีโทเค็น CSRF เรามีช่องโหว่ด้านความปลอดภัย CSRF หากเราตรวจสอบโทเค็น CSRF แสดงว่าเราปลอดภัย (แต่น่าเบื่อเล็กน้อย) หากเราตรวจสอบส่วนหัว Origin คำขอจากโค้ดฝั่งไคลเอ็นต์ของ evil.com ควรถูกบล็อกเช่นเดียวกับที่ทำเมื่อใช้โทเค็น CSRF - ยกเว้นหากเป็นไปได้ที่โค้ดของ evil.com …

4
ข้อผิดพลาด: ช่องส่วนหัวของคำขอประเภทเนื้อหาไม่ได้รับอนุญาตโดย Access-Control-Allow-Headers
ฉันสร้างโครงการ mvc4 web api โดยใช้ vS2012 ฉันใช้บทช่วยสอนต่อไปนี้เพื่อแก้ปัญหา Cross-Origin Resource Sharing "http://blogs.msdn.com/b/carlosfigueira/archive/2012/07/02/cors-support-in-asp-net-web-api- rc-version.aspx ". ทำงานได้สำเร็จและฉันโพสต์ข้อมูลจากฝั่งไคลเอ็นต์ไปยังเซิร์ฟเวอร์เรียบร้อยแล้ว หลังจากนั้นสำหรับการใช้ Autherization ในโปรเจ็กต์ของฉันฉันใช้บทช่วยสอนต่อไปนี้เพื่อติดตั้ง OAuth2 "http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for -mvc- สองขา -plement.aspx " นี่คือความช่วยเหลือฉันในการรับ RequestToken ทางฝั่งไคลเอ็นต์ แต่เมื่อฉันโพสต์ข้อมูลจากฝั่งไคลเอ็นต์ฉันได้รับข้อผิดพลาด "XMLHttpRequest ไม่สามารถโหลด http: // ช่องส่วนหัวของคำขอ Content-Type ไม่ได้รับอนุญาตโดย Access-Control-Allow-Headers" รหัสฝั่งไคลเอ็นต์ของฉันมีลักษณะดังนี้ function PostLogin() { var Emp = {}; Emp.UserName = $("#txtUserName").val(); var pass = $("#txtPassword").val(); …

8
อนุญาตทุกอย่างผ่านนโยบาย CORS
ฉันจะปิดการใช้งาน cors ได้อย่างไร? ด้วยเหตุผลบางอย่างฉันใช้ต้นกำเนิดและส่วนหัวที่อนุญาต แต่คำขอ ajax ของฉันยังคงบ่นว่าต้นกำเนิดไม่ได้รับอนุญาตตามนโยบาย CORS ของฉัน .... ตัวควบคุมแอปพลิเคชันของฉัน: class ApplicationController < ActionController::Base protect_from_forgery before_filter :current_user, :cors_preflight_check after_filter :cors_set_access_control_headers # For all responses in this controller, return the CORS access control headers. def cors_set_access_control_headers headers['Access-Control-Allow-Origin'] = '*' headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS' headers['Access-Control-Allow-Headers'] = '*' headers['Access-Control-Max-Age'] = "1728000" …

11
Access-control-allow-origin ที่มีหลายโดเมน
ใน web.config ของฉันฉันต้องการระบุโดเมนมากกว่าหนึ่งโดเมนสำหรับaccess-control-allow-originคำสั่ง ฉันไม่ต้องการใช้*. ฉันได้ลองใช้ไวยากรณ์นี้แล้ว: <add name="Access-Control-Allow-Origin" value="http://localhost:1506, http://localhost:1502" /> อันนี้ <add name="Access-Control-Allow-Origin" value="http://localhost:1506 http://localhost:1502" /> อันนี้ <add name="Access-Control-Allow-Origin" value="http://localhost:1506; http://localhost:1502" /> และอันนี้ <add name="Access-Control-Allow-Origin" value="http://localhost:1506" /> <add name="Access-Control-Allow-Origin" value="http://localhost:1502" /> แต่ไม่มีสิ่งใดได้ผล ไวยากรณ์ที่ถูกต้องคืออะไร?
102 asp.net  iis  cors  web-config 

8
วิธีเปิดใช้งานการแชร์ทรัพยากรข้ามแหล่งที่มา (CORS) ในเฟรมเวิร์ก express.js บน node.js
ฉันกำลังพยายามสร้างเว็บเซิร์ฟเวอร์ใน node.js ที่รองรับการเขียนสคริปต์ข้ามโดเมนในขณะที่ยังให้ไฟล์แบบคงที่จากไดเร็กทอรีสาธารณะ ฉันใช้ express.js และไม่แน่ใจว่าจะอนุญาตให้ใช้สคริปต์ข้ามโดเมนได้อย่างไร ( Access-Control-Allow-Origin: *) ฉันเห็นโพสต์นี้ซึ่งฉันไม่พบว่ามีประโยชน์ var express = require('express') , app = express.createServer(); app.get('/', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.configure(function () { app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); }); app.configure('development', function () { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); …

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