क्या कोई अच्छी तरह से निर्मित क्रॉसडोमेन.एक्सएमएल नमूना पोस्ट कर सकता है?


80

मैं पढ़ रहा हूं कि Adobe ने 9-10 में crossdomain.xml स्ट्रिकटर बनाया है और मैं सोच रहा हूं कि कोई मुझे इसकी एक कॉपी पेस्ट कर सकता है जिसे वे जानते हैं। एडोब की साइट पर हालिया नमूना खोजने में कुछ परेशानी हो रही है।


यह खतरनाक रूप से स्पष्ट लग सकता है, लेकिन 10 साल के अनुभव के साथ एक फ्लैश डेवलपर के रूप में, मैं आपको बता सकता हूं कि मैंने जो भी नीति लागू की है, वह हर उस काम में विफल रही है जो काम करने का नाटक भी नहीं किया था ... आज तक। यह पता चलता है कि आपको पॉलिसी फ़ाइल को स्वयं बनाने की आवश्यकता है। डॉक्स इसे ध्वनि की तरह बनाता है जैसे कि Flash अपने आप SecuritySandbox त्रुटि होने से पहले स्वयं ही crossdomain.xml फ़ाइलों की तलाश में चला जाएगा। इसलिए यदि आप संघर्ष कर रहे हैं, तो सुनिश्चित करें कि आप पॉलिसी फ़ाइल को लोड कर रहे हैं: Security.loadPolicyFile (" example.com/crossdomain.xml" )
1owk3y

जवाबों:


103

यह वही है जो मैं विकास के लिए उपयोग कर रहा हूं:

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

यह एक बहुत ही उदार दृष्टिकोण है, लेकिन मेरे आवेदन के लिए ठीक है।

जैसा कि दूसरों ने नीचे बताया है, इस के जोखिमों से सावधान रहें।


30
यह एक अर्थ में काम करता है, लेकिन कृपया जोखिमों पर ध्यान दें: इसका मतलब है कि कोई भी वेबसाइट उपयोगकर्ता की ओर से आपकी वेबसाइट पर अनुरोध भेज सकती है, कुकीज़ और सभी, और समस्या के बिना प्रतिक्रिया पढ़ें। अधिकांश वेब ऐप्स के लिए, यह एक बड़ी सुरक्षा भेद्यता है। इसलिए, जब इस दृष्टिकोण का अपना स्थान होता है, तो कृपया जोखिमों को जानें और आवश्यक होने पर सख्त श्वेतसूची दृष्टिकोण अपनाएं (जो लगभग हमेशा उत्पादन ऐप के लिए होता है)।
माचिस

3
है यह बाहर विकास का उपयोग करें। यह कड़े PHP प्रोजेक्ट से "बुरी तरह से कॉन्फ़िगर क्रॉसडोमेन.एक्सएमएल" के उदाहरण से मेल खाता है ।
ग्रेग के

2
"पाठ / x-क्रॉस-डोमेन-नीति": यदि आप फ़ाइल अपने आप को सेवा कर रहे हैं, सही contentType स्थापित करने के लिए याद
Fiffy

एक (और केवल एक) परिस्थिति है जहां यह एक उत्पादन वातावरण में स्वीकार्य होगा: जहां आप इसे एक डोमेन पर स्थापित कर रहे हैं जो केवल अन्य डोमेन पर अनुप्रयोगों के उपयोग के लिए स्थैतिक फाइलों को सेवा प्रदान करता है। उदाहरण: आपके पास एक "images.mydomain.com" उपडोमेन है जो आपकी साइट की सभी छवियों (संभवत: किसी प्रकार के सीडीएन का उपयोग करके) का काम करता है और कुछ नहीं
पेरियाटा ब्रीटा

34

यदि आप webservices का उपयोग कर रहे हैं, तो आपको 'allow-http-request-headers-from' तत्व की भी आवश्यकता होगी। यहां हमारा डिफ़ॉल्ट, विकास, 'सब कुछ अनुमति दें' नीति है।

<?xml version="1.0" ?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*"/>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

22
शायद आपको यह उल्लेख करना चाहिए कि क्या यह खतरनाक हो सकता है?
दर्शन

इस XML फ़ाइल को कहाँ सहेजना है
सजीथा रथनायके

मैं हमेशा एडोब की योजना का उपयोग करता हूं। यहाँ एक ढीला एक उदाहरण है: http://stackoverflow.com/a/26433744/257319

उस डोमेन स्तर पर सहेजें जिसे आप प्रभावित करना चाहते हैं। जैसे। example.com/crossdomain.xml
iedoc

30

ट्विटर पर एक नज़र डालें:

http://twitter.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
    <allow-access-from domain="twitter.com" />
    <allow-access-from domain="api.twitter.com" />
    <allow-access-from domain="search.twitter.com" />
    <allow-access-from domain="static.twitter.com" />
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-http-request-headers-from domain="*.twitter.com" headers="*" secure="true"/>
</cross-domain-policy>


9

उत्पादन साइट में यह उपयुक्त लगता है:

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.mysite.com" />
<allow-access-from domain="mysite.com" />
</cross-domain-policy>

5

Crossdomain.xml का एक संस्करण HTML5 बॉयलरप्लेट के साथ पैक किया जाता है जो कई वर्षों के चलने के विकास और संयुक्त सामुदायिक ज्ञान का उत्पाद है। हालाँकि, यह तब से रिपॉजिटरी से हटा दिया गया है। मैंने इसे यहाँ शब्दशः कॉपी किया है, और उस लिंक के लिए एक लिंक शामिल किया है जहाँ इसे नीचे हटाया गया था।

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <!-- Read this: https://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->

  <!-- Most restrictive policy: -->
  <site-control permitted-cross-domain-policies="none"/>

  <!-- Least restrictive policy: -->
  <!--
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*" to-ports="*" secure="false"/>
  <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
  -->
</cross-domain-policy>

# 1881 में नष्ट कर दिया गया
https://github.com/h5bp/html5-boilerplate/commit/58a2ba81d250301e7b5e3da28ae4c1b42d91b2c2

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.