2009-02-25 11 views
7

Vì vậy, giả sử tôi có một trang web và tôi không có tệp crossdomain.xml hoặc clientaccesspolicy.xml trên đó.Ý nghĩa của crossdomain.xml và clientaccesspolicy.xml khi có ví dụ PHP/cURL?

Điều này có nghĩa là mọi người không thể truy cập trang web của tôi qua ứng dụng Silverlight hoặc Flash.

Nhưng họ có thể sử dụng, nói cURL trong PHP (hoặc tương đương trong các ngôn ngữ khác) để có được những thông tin từ trang web của tôi và cung cấp nó cho các ứng dụng Silverlight và Flash của họ thông qua REST hoặc WebService vv

  • Ai đó có thể giải thích chính xác cách những hạn chế này bảo vệ trang web của tôi, ví dụ: từ tập lệnh miền chéo?

  • Họ đang bảo vệ điều gì không thể thực hiện được với PHP/cURL và các tài khoản tương đương mà làm có quyền truy cập vào trang web của tôi qua tập lệnh?

Trả lời

12

PHP là một công nghệ và mã máy chủ thực thi trên máy chủ chứ không phải trên máy của người dùng. Silverlight là một công nghệ phía máy khách chạy trên máy của người dùng.

Nếu mã Silverlight có thể đưa ra yêu cầu web tùy ý cho bất kỳ miền nào, nó sẽ mở cửa cho toàn bộ các cuộc tấn công tập lệnh chéo trang.

Hình ảnh trường hợp này:
Bob truy cập www.OnlineBanking.com và đăng nhập để kiểm tra số dư tài khoản của mình. Anh ấy rời khỏi trang web này bằng cách điều hướng đến một địa chỉ khác. Anh ta không nhấp vào "Đăng xuất", vì vậy anh ta vẫn đăng nhập (cách khác, anh ta mở một cửa sổ trình duyệt mới/tab, để trang web ngân hàng vẫn mở).
Bob duyệt đến evil.com, chứa ứng dụng Silverlight.
Ứng dụng Silverlight được tải xuống và chạy trên máy của Bob.
Ứng dụng này thực hiện yêu cầu web đến www.OnlineBanking.com/secretaccountdetails.html. Tệp này yêu cầu xác thực để đọc (evil.com không được xác thực vì vậy không thể truy cập tệp đó).
Bob tuy nhiên IS đã được xác thực và yêu cầu thành công. Ứng dụng Silverlight có thể đọc nội dung của tập tin này và làm bất cứ điều gì nó thích với nó (bao gồm gửi nó đến evil.com).

Giới hạn yêu cầu tên miền chéo trong Silverlight ngăn chặn tình huống trên xảy ra. Khi yêu cầu được thực hiện bởi ứng dụng Silverlight đến OnlineBanking.com, ứng dụng sẽ kiểm tra tệp chính sách tên miền chéo vì ứng dụng được phân phát từ một miền khác. Vì OnlineBanking.com không có tệp chính sách cho phép yêu cầu miền chéo, yêu cầu không thành công và ứng dụng Silverlight không thể tải xuống secretaccountdetails.html.