Ai đó có thể đăng một mẫu crossdomain.xml được định hình tốt không?


80

Tôi đã đọc rằng Adobe đã làm cho crossdomain.xml chặt chẽ hơn trong flash 9-10 và tôi tự hỏi ai đó có thể dán cho tôi một bản sao của một cái mà họ biết là hoạt động. Gặp sự cố khi tìm mẫu gần đây trên trang của Adobe.


Điều này có vẻ rõ ràng một cách nguy hiểm, nhưng với tư cách là một nhà phát triển Flash với 10 năm kinh nghiệm, tôi có thể nói với bạn rằng mọi tệp chính sách mà tôi từng triển khai đều bị lỗi thậm chí không hoạt động ... cho đến hôm nay. Hóa ra bạn cần thực sự tự TẢI tệp chính sách. Tài liệu làm cho nó có vẻ như Flash sẽ tự động tìm kiếm các tệp crossdomain.xml trước khi gặp lỗi SecuritySandbox. Vì vậy, nếu bạn đang gặp khó khăn, hãy đảm bảo rằng bạn ĐANG TẢI tệp chính sách: Security.loadPolicyFile (" example.com/crossdomain.xml" )
1owk3y

Câu trả lời:


103

Đây là những gì tôi đang sử dụng để phát triển:

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

Đây là một cách tiếp cận rất tự do, nhưng tốt cho ứng dụng của tôi.

Như những người khác đã chỉ ra bên dưới, hãy cẩn thận với những rủi ro của điều này.


30
Điều này hoạt động theo một nghĩa nào đó, nhưng xin lưu ý những rủi ro: điều này có nghĩa là bất kỳ trang web nào cũng có thể thay mặt người dùng gửi yêu cầu đến trang web của bạn, cookie và tất cả, và đọc phản hồi mà không gặp vấn đề gì. Đối với hầu hết các ứng dụng web, đây là một lỗ hổng bảo mật lớn. Vì vậy, mặc dù cách tiếp cận này có chỗ đứng của nó, nhưng hãy biết rủi ro và thực hiện một cách tiếp cận danh sách trắng nghiêm ngặt khi cần thiết (hầu như luôn áp dụng cho các ứng dụng sản xuất).
Matchu

3
Đừng không sử dụng phát triển bên ngoài này. Điều này hoàn toàn phù hợp với ví dụ về "crossdomain.xml bị cấu hình không hợp lệ" từ dự án PHP cứng .
Greg K,

2
nếu bạn đang tự phân phát tệp, hãy nhớ đặt đúng contentType: "text / x-cross-domain-policy"
fiffy

Có một (và chỉ một) trường hợp mà điều này có thể được chấp nhận trong môi trường sản xuất: nơi bạn đang cài đặt nó trên một miền chỉ phục vụ các tệp tĩnh để sử dụng các ứng dụng trên các miền khác. Ví dụ: bạn có một miền phụ "images.mydomain.com" phục vụ tất cả các hình ảnh trên trang web của bạn (có lẽ là sử dụng một số loại CDN) và không có gì khác .
Periata Breatta

34

Nếu bạn đang sử dụng dịch vụ web, bạn cũng sẽ cần phần tử 'allow-http-request-headers-from'. Đây là chính sách mặc định, phát triển, 'cho phép mọi thứ' của chúng tôi.

<?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
có lẽ bạn nên đề cập nếu / làm thế nào điều này có thể nguy hiểm?
philfreo

Nơi để lưu file XML này
Sajitha Rathnayake

Tôi luôn sử dụng chương trình của Adobe. Dưới đây là một ví dụ về một lỏng lẻo: http://stackoverflow.com/a/26433744/257319

Lưu trên cấp độ miền mà bạn muốn nó ảnh hưởng. ví dụ. example.com/crossdomain.xml
iedoc

30

Hãy xem Twitter của:

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

Ở nơi sản xuất, điều này có vẻ phù hợp:

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

5

Một phiên bản của crossdomain.xml từng được đóng gói với HTML5 Boilerplate , là sản phẩm của nhiều năm phát triển lặp đi lặp lại và kiến ​​thức cộng đồng kết hợp. Tuy nhiên, nó đã bị xóa khỏi kho lưu trữ. Tôi đã sao chép nguyên văn nó ở đây và bao gồm một liên kết đến cam kết nơi nó đã bị xóa bên dưới.

<?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>

Đã xóa trong # 1881
https://github.com/h5bp/html5-boilerplate/commit/58a2ba81d250301e7b5e3da28ae4c1b42d91b2c2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.