2012-01-12 46 views
5

Tôi đang tìm cách phát triển một trang web để lưu trữ các trò chơi HTML5 trên đó. Vì những trò chơi này có cơ hội bao gồm javascript độc hại, tôi muốn biết cách thiết lập một môi trường an toàn để lưu trữ chúng.Thực hiện HTML5/Javascript Trong An iFrame An toàn

Nó có vẻ như nhúng trò chơi với một khung nội tuyến là câu trả lời, nhưng tôi tương đối mới để phát triển trang web, vì vậy một số câu hỏi sau:

  • là có một cách đơn giản để lưu trữ các trò chơi một cách an toàn trên cùng một tên miền, hoặc ...

  • trò chơi phải được lưu trữ trên một tên miền khác, sau đó được nhúng trong iframe sao cho nó không thể tương tác với tài liệu gốc?

  • nếu trò chơi được thực thi khi được lưu trữ trên tên miền khác, nó có thể tương tác với miền máy chủ đó theo bất kỳ cách độc hại nào không?

+0

iframe + secure = problem always ... Đọc một số ý tưởng tại đây http://msdn.microsoft.com/en-us /library/bb735305.aspx http://stackoverflow.com/questions/229624/secure-iframe-on-unsecure-page-in-a-different-domain http://www.iframehtml.com/iframe-security.html –

+0

@DmitryBoyko Cảm ơn bạn đã liên kết. Rất hữu dụng. Mặc dù, tôi có lựa chọn nào khác hơn là sử dụng iframe cho điều này? :) – Matthew

Trả lời

2

Ghi đè trên trang web và quá phạm vi cookie sẽ là một mối lo ngại lớn ở đây. Việc sử dụng Chính sách xuất xứ tương tự của trình duyệt sẽ là một phương pháp có giá trị để bảo vệ bạn. ref1ref2

  • Đảm bảo trang web của bạn được phân phối từ miền khác đến ứng dụng cộng tác viên. (ví dụ: coolgames.commycoolgames.com) - Điều này sẽ tách biệt phạm vi gốc của mã khỏi mã của chúng.
  • Đảm bảo rằng mỗi người đóng góp khác nhau đều có ứng dụng/trò chơi được phân phát từ tên miền phụ duy nhất (ví dụ: bob.mycoolgames.com, dave.mycoolgames.com) - Điều này sẽ giúp tách biệt nguồn gốc của các nhà phát triển khác nhau. Mỗi người sẽ cần phải cẩn thận để không bao giờ phạm vi cookie để .mycoolgames.com hoặc họ sẽ overexpose mình.

Bạn cũng có thể muốn bảo vệ hơn nữa ứng dụng của riêng mình bằng cách sử dụng hỗ trợ Content Security Policy mới trong trình duyệt hiện đại. Điều này cũng sẽ giúp thêm mitigate chống lại clickjacking attacks.

Về iframe:

Bạn có thể giải thích tại sao bạn nghĩ mình cần sử dụng iframe không? Có gì sai với các liên kết cũ thời tốt?

Nếu thiết kế đồ họa quy định rằng khung nội tuyến phải được sử dụng, bạn có thể dễ dàng có tất cả trò chơi được nhúng iframe thành trang động tại www.mycoolgames.com, nơi bạn sẽ không giữ bất kỳ hệ thống, dữ liệu hoặc mã nhạy cảm nào tất cả các hệ thống xác thực người dùng, hệ thống CMS và dữ liệu chỉ trên các ứng dụng tại * .coolgames.com

+0

Cảm ơn bạn! Thông tin về các miền phụ đặc biệt hữu ích. – Matthew

+0

@Matthew được cập nhật để bao gồm iframe và các vấn đề về nhấp chuột – Cheekysoft

+0

Cảm ơn bạn. Tôi có thể hỏi những gì bạn làm có nghĩa là bởi dòng cuối cùng của bạn "Cá nhân tôi sẽ ..."? Bạn có nghĩa là chỉ cần chuyển hướng trang đến trang web với các trò chơi được lưu trữ trên đó? – Matthew