2013-01-02 46 views
6

मैंने मुख्य रूप से तीन.जेएस का उपयोग करके वेबजीएल का थोड़ा सा सीखा है। मैं .obj फ़ाइलों को लोड करता हूं और मैं उन्हें 3 डी में खींचता हूं।क्या वेबजीएल में इस्तेमाल किए गए डेटा को छिपाना/सुरक्षित करना संभव है?

मैं की तरह ऑनलाइन अपने प्रोजेक्ट डाल दिया है कुछ के तहत: www.mydomain.com

मैं लोगों को अपने ब्राउज़र के माध्यम से अपने स्रोत कोड देख कोई आपत्ति नहीं है, लेकिन .obj फ़ाइलें मैं दिखा रहा हूँ किसी से कर रहे हैं जो उन्हें दूर नहीं देना चाहता।

मैं इस बारे में कुल नौसिखिया हूं।

जैसा कि मेरा स्रोत कोड सभी के लिए उपलब्ध है, मुझे लगता है कि .obj फ़ाइलें सभी के लिए भी उपलब्ध हैं। तो क्या उन्हें छिपाना या सुरक्षित करना संभव है ताकि कोई भी उन्हें डाउनलोड न कर सके?

+3

नहीं, क्योंकि जब आप इन फ़ाइलों को आकर्षित करने के लिए इन्हें प्राप्त करते हैं तो वे पहले से ही क्लाइंट मशीन पर डाउनलोड होते हैं ... – 11684

+1

आपका एकमात्र मौका शायद obfuscation etcetera है। – 11684

उत्तर

7

मुझे यकीन है कि यदि आप एक्सेस करना चाहते हैं और जावास्क्रिप्ट/वेबजीएल में उनका उपयोग करना चाहते हैं तो आप किसी भी फाइल को सुरक्षित नहीं कर सकते हैं। ब्राउज़र/जावास्क्रिप्ट को प्रदर्शित करने में सक्षम होने के लिए उन्हें किसी बिंदु पर उपयोग करने योग्य प्रारूप में पार्स करने की आवश्यकता है। आपके पास दो विकल्प हैं:

1) Obfuscation। मुझे नहीं लगता कि यह बहुत अच्छा विकल्प है, अंत में कोई भी हमेशा आपकी फाइलों के कुछ उपयोगी प्रतिनिधित्व तक पहुंचने के लिए फ़ायरबग और अन्य टूल्स का उपयोग कर सकता है। आप डेटा सर्वर-पक्ष को एन्क्रिप्ट या स्कैम्बल करके और जावास्क्रिप्ट में सामानों का पुनर्निर्माण करके इसे थोड़ा आसान बना सकते हैं। या सिर्फ फाइलों को लोड और प्रस्तुत करने के अपरंपरागत तरीकों का उपयोग करना।

आप शेडर कोड में कुछ डिकोडिंग/डिक्रिप्टिंग भी कर सकते हैं जो चोरी करने के लिए एक कदम कठिन होगा। लेकिन यह शायद केवल बनावट पर लागू होता है।

2) फ़ाइलों को कम उपयोगी बनाएं। किसी के लिए आपकी ओबीजे फाइलों का पुन: उपयोग करने के लिए, शायद वे मॉडल को अपनी पसंद के सॉफ़्टवेयर में आयात करना चाहते हैं और कुछ करना चाहते हैं। आप इसे रोक नहीं सकते हैं लेकिन आप अतिरिक्त जानकारी की फ़ाइलों को पट्टी कर सकते हैं जो फ़ाइलों को काम करना आसान बनाता है। यह किसी भी संभावित चोरों के लिए फ़ाइलों को कम वांछनीय बना देगा।

मैं इसे पूरी तरह से अलग कारणों से करता हूं, लेकिन वेबजीएल के मेरे मुख्य उपयोग में स्केचअप से कोलाडा तक मॉडल निर्यात करना और उन्हें वेबजीएल में प्रदर्शित करना शामिल है। मेरा निर्यात कोड कुछ चीजें करता है, जो एक दुष्प्रभाव के रूप में निर्यातित मॉडल को काम करने के लिए दर्द बनाता है। इसमें सभी घटकों के उदाहरणों को अद्वितीय (डी-इंस्टेंसिंग?) बनाने, सभी घटकों और समूहों को सादे ज्यामिति में विस्फोट करने, छिपे हुए ज्यामिति को हटाने, सभी छिद्रों को ट्रिगर करने,

बिना किसी संपादन के स्केचअप पर वापस लाने के लिए एक पिटा होगा मूल फ़ाइल ... विशेष रूप से क्योंकि जिन मॉडलों के साथ मैं काम करता हूं, प्रकृति द्वारा भारी मात्रा में घटक और समूह इंस्टेंसिंग पर निर्भर करता है। लेकिन फिर भी, कुछ भी "जैसा है" ज्यामिति चोरी करने से रोकता है।

2

यदि कोई ब्राउज़र पर डाउलोड करने योग्य है तो यह उपयोगकर्ता के कंप्यूटर पर है।

आप फ़ाइलों को और अधिक कठिन बना सकते हैं, लेकिन यह केवल .obj डेटा को पकड़ने में धीमा हो जाएगा। अगर कोई ऐसा करना चाहता है तो वह अंततः इसे कर सकता है। डिक्रिप्शन कुंजी हमेशा क्लाइंट कंप्यूटर पर होना चाहिए। तो आप केवल प्रक्रिया को धीमा कर सकते हैं। तो सवाल यह हो जाता है कि "आप अपने .obj पढ़ने कोड को कितना मुश्किल और कितना जटिल बनाना चाहते हैं और क्या यह प्रयास के लायक है?" बस फ़ाइल की शुरुआत में एक अतिरिक्त बाइट जोड़कर संभवतः फाइलिंग सॉफ़्टवेयर में फ़ाइलों को खोलने के लिए पर्याप्त नहीं है।

मेरा सुझाव है कि आप अपने किसी को शिक्षित करें कि इंटरनेट कैसे काम करता है और बस यह कहने के लिए संभव नहीं है या इसे करने की कोशिश करने के लायक नहीं है और खुद को होमब्री कार्यान्वयन के साथ आने से बचाने के लिए डेटा को और अधिक कठिन बनाना है।

2

अन्य उत्तरों देखें लेकिन यह WebGL के लिए अद्वितीय नहीं है। किसी भी भाषा में किसी भी कार्यक्रम में यह समस्या है। एक बार उपयोगकर्ता के कंप्यूटर, फोन, आदि पर डेटा डेटा प्राप्त कर सकता है। उदाहरण:

  1. reading an iOS app's data
  2. reading a native PC app's data

दूसरी ओर आप तकनीक ऊपर उल्लेख पालन कर सकते हैं। अपने प्रारूप का प्रयोग करें। डेटा को मालिश करें ताकि प्रतिपादन के लिए यह सबसे अच्छा हो जो आमतौर पर संपादन के लिए खराब बनाता है।

इसके अलावा आप निश्चित रूप से अपनी फाइलों को अपनी वेबसाइट पर लॉग इन करने की आवश्यकता बना सकते हैं ताकि वे उन्हें जीमेल, फेसबुक, Google डॉक्स इत्यादि के रूप में पहली बार पढ़ सकें। यह साइन अप करने के बाद उन्हें फ़ाइलों को प्राप्त करने से नहीं रोकेगा लेकिन। You can also setup your server so only your app can download the files। एक बार जब उपयोगकर्ता ने आपके ऐप को डाउनलोड करने के बाद उपयोगकर्ता को फ़ाइलों को प्राप्त करने से नहीं रोका होगा (या उन्होंने ब्राउज़र एक्सटेंशन के माध्यम से जावास्क्रिप्ट इंजेक्शन दिया है) लेकिन यह आपके बैंडविड्थ को सीधे आपके डेटा से जोड़ने वाली अन्य साइटों से चोरी हो जाएगा।