คำถามติดแท็ก cross-domain

ข้ามโดเมนหมายถึงเว็บแอปพลิเคชันที่สื่อสารนอกโดเมนโฮสติ้ง / เว็บเซิร์ฟเวอร์ ซึ่งอาจอยู่ในรูปแบบของการร้องขอเครือข่ายไปยังเซิร์ฟเวอร์อื่นหรือการแชร์ข้อมูลกับคอมโพเนนต์ DOM ที่ให้บริการจากโดเมนต่าง ๆ ซึ่งประกอบอยู่ในหน้าเว็บเดียวกัน

4
จาก jquery $ .ajax ไปจนถึง angular $ http
ฉันมีโค้ด jQuery ชิ้นนี้ที่ใช้งานได้ดีจากต้นกำเนิดข้าม: jQuery.ajax({ url: "http://example.appspot.com/rest/app", type: "POST", data: JSON.stringify({"foo":"bar"}), dataType: "json", contentType: "application/json; charset=utf-8", success: function (response) { console.log("success"); }, error: function (response) { console.log("failed"); } }); ตอนนี้ฉันกำลังพยายามที่จะแปลงสิ่งนี้เป็นรหัส Angular.js โดยไม่ประสบความสำเร็จ: $http({ url: "http://example.appspot.com/rest/app", dataType: "json", method: "POST", data: JSON.stringify({"foo":"bar"}), headers: { "Content-Type": "application/json; charset=utf-8" } }).success(function(response){ $scope.response = response; …


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 …

6
JavaScript ที่ไม่ปลอดภัยพยายามเข้าถึงเฟรมด้วย URL
ฉันได้รับข้อผิดพลาดด้านล่างเมื่อฉันพยายามตั้งค่าแฮชเป็น URL หลักจาก iframe ซึ่งมี URL ของโดเมนอื่น: JavaScript ที่ไม่ปลอดภัยพยายามเข้าถึงเฟรมด้วย URL "URL1" จากเฟรมที่มี URL "URL2" โดเมนโปรโตคอลและพอร์ตต้องตรงกัน ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

7
มีตัวปรับขนาดความสูงของ iframe อัตโนมัติแบบข้ามโดเมนที่ใช้งานได้หรือไม่
ฉันลองวิธีแก้ปัญหาเล็กน้อย แต่ไม่ประสบความสำเร็จ ฉันสงสัยว่ามีวิธีแก้ปัญหาหรือไม่โดยเฉพาะอย่างยิ่งกับบทช่วยสอนที่ทำตามได้ง่าย

5
ข้อผิดพลาด 'No Transport' w / jQuery ajax call ใน IE
ฉันจำเป็นต้องใช้ foursquare API เพื่อค้นหาสถานที่ แน่นอนว่าเป็นการข้ามโดเมน ไม่มีปัญหาใด ๆ ใน Firefox แต่ใน Internet Explorer (7, 8, 9 ฉันได้ทดสอบแล้ว) รหัสจาวาสคริปต์ของฉันดูเหมือนว่า: searchVenues: function(searchQuery) { $.ajax({ url: 'https://api.foursquare.com/v2/venues/search', data: { sw: bound_south_west, ne: bound_north_east, query: searchQuery.query, oauth_token: FSQ_OAUTH_TOKEN, limit: 25, intent: 'browse', v: 20120206 }, cache: false, dataType: 'json', success: function(data) { displayResults(data, searchQuery.query); }, …

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

11
AJAX ใน Chrome ส่ง OPTIONS แทน GET / POST / PUT / DELETE?
ฉันกำลังทำงานกับเว็บแอปพลิเคชันภายในที่ทำงาน ใน IE10 คำขอใช้งานได้ดี แต่ใน Chrome คำขอ AJAX ทั้งหมด (ซึ่งมีจำนวนมาก) จะถูกส่งโดยใช้ OPTIONS แทนที่จะใช้วิธีการใดก็ตามที่ฉันให้ไว้ ในทางเทคนิคคำขอของฉันคือ "ข้ามโดเมน" ไซต์นี้ให้บริการบน localhost: 6120 และบริการที่ฉันกำลังส่งคำขอ AJAX อยู่บน 57124 ข้อผิดพลาด jquery แบบปิดนี้กำหนดปัญหา แต่ไม่ใช่การแก้ไขจริง ฉันจะทำอย่างไรเพื่อใช้เมธอด http ที่เหมาะสมในคำขอ ajax แก้ไข: นี่คือการโหลดเอกสารของทุกหน้า: jQuery.support.cors = true; และ AJAX ทุกตัวถูกสร้างขึ้นในทำนองเดียวกัน: var url = 'http://localhost:57124/My/Rest/Call'; $.ajax({ url: url, dataType: "json", data: json, async: …

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 })); …

5
วิธีส่งส่วนหัวการอนุญาตที่ถูกต้องสำหรับการตรวจสอบสิทธิ์ขั้นพื้นฐาน
ฉันกำลังพยายามโพสต์ข้อมูลจาก API ของฉัน แต่ไม่สามารถผ่านการตรวจสอบสิทธิ์พื้นฐานได้ ฉันลอง: $.ajax({ type: 'POST', url: http://theappurl.com/api/v1/method/, data: {}, crossDomain: true, beforeSend: function(xhr) { xhr.setRequestHeader('Authorization', 'Basic [REDACTED]'); } }); การตอบสนองการกำหนดค่าเซิร์ฟเวอร์ของฉันคือ: response["Access-Control-Allow-Origin"] = "*" response["Access-Control-Allow-Methods"] = "POST" response["Access-Control-Max-Age"] = "1000" response["Access-Control-Allow-Headers"] = "*" ส่วนหัวที่ฉันได้รับคือ: ขอส่วนหัว OPTIONS /api/v1/token-auth/ HTTP/1.1 Host: theappurl.com Connection: keep-alive Access-Control-Request-Method: POST Origin: http://127.0.0.1:8080 User-Agent: Mozilla/5.0 …

17
PHP เซสชันข้ามโดเมนย่อย
ฉันกำลังพยายามตั้งค่าสิ่งต่อไปนี้: auth.example.com sub1.example.com sub2.example.com หากผู้ใช้เข้าเยี่ยมชมsub1.example.comหรือsub2.example.comไม่ได้ลงชื่อเข้าใช้ระบบจะเปลี่ยนเส้นทางไปยังauth.example.comและเข้าสู่ระบบได้ sub1.example.comและsub2.example.comเป็นแอปพลิเคชั่นสองตัวที่แยกจากกัน แต่ใช้ข้อมูลประจำตัวเดียวกัน ฉันลองตั้งค่าต่อไปนี้ใน php.ini ของฉัน: session.cookie_domain = ".example.com" แต่ดูเหมือนจะไม่ส่งข้อมูลจากโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง [แก้ไข] ฉันลองทำสิ่งต่อไปนี้: sub1.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Regsitered'] = 1; echo '<a href="http://auth.example.com/test.php">Change Sites</a>' auth.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION); รหัสเซสชันเหมือนกัน$_SESSIONทุกประการแต่เมื่อฉันทิ้งตัวแปรมันจะไม่แสดงทั้งสองคีย์ไม่ว่าจะเป็นคีย์ใดก็ตามที่ฉันตั้งค่าไว้ในแต่ละโดเมน

10
เหตุใด canvas.toDataURL () จึงมีข้อยกเว้นด้านความปลอดภัย
ฉันนอนหลับไม่เพียงพอหรืออะไร? รหัสต่อไปนี้ var frame=document.getElementById("viewer"); frame.width=100; frame.height=100; var ctx=frame.getContext("2d"); var img=new Image(); img.src="http://www.ansearch.com/images/interface/item/small/image.png" img.onload=function() { // draw image ctx.drawImage(img, 0, 0) // Here's where the error happens: window.open(frame.toDataURL("image/png")); } กำลังแสดงข้อผิดพลาดนี้: SECURITY_ERR: DOM Exception 18 ไม่มีทางที่จะไม่ได้ผล! ใครช่วยอธิบายเรื่องนี้หน่อยได้ไหม?

5
วัตถุประสงค์ของแอตทริบิวต์ crossorigin ... ?
ทั้งในแท็กรูปภาพและสคริปต์ ความเข้าใจของฉันคือคุณสามารถเข้าถึงทั้งสคริปต์และรูปภาพในโดเมนอื่น ๆ ดังนั้นเมื่อใดจึงใช้แอตทริบิวต์นี้? นี่คือเมื่อคุณต้องการ จำกัด ความสามารถของผู้อื่นในการเข้าถึงสคริปต์และรูปภาพของคุณหรือไม่? รูปภาพ: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-crossorigin สคริปต์: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script

2
ข้อผิดพลาด CORS ในโดเมนเดียวกัน?
ตอนนี้ฉันกำลังประสบปัญหา CORS แปลก ๆ นี่คือข้อความแสดงข้อผิดพลาด: XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[...] Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin เซิร์ฟเวอร์สองเครื่อง: localhost: 8666 / routeREST /: นี่คือเซิร์ฟเวอร์ Python Bottle แบบธรรมดา localhost: 8080 /: Python simpleHTTPserver ที่ฉันเรียกใช้แอปพลิเคชัน Javascript แอปนี้กำลังดำเนินการตามคำขอของ Ajax บนเซิร์ฟเวอร์ด้านบน มีความคิดเกี่ยวกับสิ่งที่อาจเป็นปัญหาหรือไม่? แก้ไข: และ ... พอร์ตคือปัญหา ขอบคุณสำหรับคำตอบ :) หากใครใช้เซิร์ฟเวอร์ Python bottle เช่นกันคุณสามารถทำตามคำตอบที่ให้ไว้ในโพสต์นี้เพื่อแก้ปัญหา CORS: Bottle Py: …

9
การปรับขนาด iframe ข้ามโดเมน
ฉันจะปรับขนาด iframe จากโดเมนอื่นได้อย่างไร - แก้ไข เลื่อนลงเพื่อดูวิธีแก้ปัญหา .. หรืออ่านวิธีการไม่ทำสิ่งนี้ หลังจากแฮ็กโค้ดหลายชั่วโมงข้อสรุปก็คือไม่สามารถเข้าถึงสิ่งใด ๆ ภายใน iframe ได้แม้แต่แถบเลื่อนที่แสดงผลบนโดเมนของฉัน ฉันได้ลองใช้เทคนิคมากมายแล้วก็ไม่เกิดประโยชน์ เพื่อช่วยคุณประหยัดเวลาอย่าแม้แต่ไปตามเส้นทางนี้เพียงแค่ใช้ sendMessages สำหรับการสื่อสารข้ามโดเมน มีปลั๊กอินสำหรับ HTML <5 ที่ฉันใช้ - ไปที่ด้านล่างเพื่อดูตัวอย่างที่ดี :) ไม่กี่วันที่ผ่านมาฉันพยายามรวม iframe เข้ากับไซต์ นี่เป็นวิธีแก้ปัญหาระยะสั้นในขณะที่อีกด้านหนึ่งพัฒนาและ API (อาจใช้เวลาหลายเดือน ... ) และเนื่องจากนี่เป็นวิธีการแก้ปัญหาระยะสั้นที่เราต้องการใช้ easyXDM - ฉันสามารถเข้าถึงโดเมนอื่นได้ แต่ก็ยากพอที่จะขอให้พวกเขา เพิ่ม p3p header ตามที่เป็น ..... 3 iframe ทางออกที่ใกล้เคียงที่สุดที่ฉันพบคือ 3 iframes - แต่มันเป็นไปในแง่ของ Chrome …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.