हम एचटीएमएल 5 गेम के लिए ऑनलाइन एराकेड तैयार कर रहे हैं। उपयोगकर्ता एक ज़िप फ़ाइल अपलोड कर सकते हैं जिसमें उनका गेम शामिल है।उपयोगकर्ताओं को एचटीएमएल/जेएस फाइलों को अपलोड करने की अनुमति देने में जोखिम
अपलोड पर, ज़िप सर्वर द्वारा अनपैक किया जाता है और प्रत्येक फ़ाइल यह एक सफेद सूची की इजाजत दी खिलाफ विस्तार है जाँच फंस जाता है:
- .html
- .js
- .png हैं। जेपीजी
- .appcache
- .m4a
- .ogg
(खेलों को हमारे गेम संपादक में बनाया जाना चाहिए जो उन फ़ाइलों को निर्यात करता है)। इससे लोगों को ज़िप, सर्वर साइड स्क्रिप्ट फाइल इत्यादि अपलोड करने से रोका जाना चाहिए।
गेम तब हमारे स्थिर कुकीज डोमेन (scirra.net) पर स्थानांतरित हो जाते हैं। जब हमारे scirra.com पेज पर गेम खेला जाता है तो गेम scirra.net डोमेन को इंगित करने वाले आईफ्रेम में प्रदर्शित होता है। यह दुर्भावनापूर्ण जेएस को scirra.com कुकीज़ तक पहुंचने से रोकना चाहिए।
क्या यह iframe तकनीक और श्वेतसूची व्यापक रूप से कुछ भी करने से रोकने के लिए पर्याप्त व्यापक है? ध्यान दें कि हम वास्तव में प्रत्येक जेएस फ़ाइल को स्क्रीन नहीं कर सकते हैं, इसलिए हमें यह मानना चाहिए कि लोग दुर्भावनापूर्ण जेएस अपलोड करने का प्रयास कर रहे हैं।
मुझे पता है कि इससे कुछ फ्लेक्स हो सकता है, लेकिन आपको एक सेब जैसी स्वीकृति प्रक्रिया की आवश्यकता है। –
मुझे लगता है कि यह इस बात पर भी निर्भर करता है कि आप किस प्रकार की सुरक्षा में रुचि रखते हैं। क्या आप पूरी तरह से अपने सर्वर की सुरक्षा में रूचि रखते हैं या आप यह सुनिश्चित करने में भी रुचि रखते हैं कि आप अपने गेम प्लेयर को दुर्भावनापूर्ण कोड होस्ट नहीं कर रहे हैं। यदि आप दोनों मामलों पर विचार कर रहे हैं, तो आपको यह सत्यापित करने के लिए थोड़ा और काम करना पड़ सकता है कि उपयोगकर्ता क्राफ्टिंग नहीं कर रहा है (यहां तक कि आपके संपादक के भीतर) कुछ चालाक जावास्क्रिप्ट जो गेमर का फायदा उठा सकता है। – RLH
@ डैनियल, यह हमारे लिए वास्तव में यथार्थवादी नहीं है। हमारे पास ऐसे लोगों का एक बड़ा दर्शक है जो इसका उपयोग करना चाहते हैं और प्रत्येक गेम को सैंडबॉक्स करने का तरीका चाहते हैं ताकि यह सुरक्षित हो। मैं वास्तव में सोच रहा हूं कि एक जेएस एक अलग डोमेन पर फ्रेम में चलाए जाने पर कोई नुकसान हो सकता है। –