दिलचस्प पोस्ट
गतिशील रूप से जोड़ा आंशिक दृश्य पर काम नहीं कर रहा है जावास्क्रिप्ट वस्तु उन्मुख है? दो सरणियों के बीच कोसाइन समानता ढूंढें एक कस्टम सत्यापन angularjs निर्देश का परीक्षण करने के लिए क्या JQuery $ समारोह () आग पर है? कैसे एक अक्षर स्ट्रिंग में बदलने के लिए? मैं किसी विशिष्ट श्वेतसूची को छोड़कर सभी HTML टैग कैसे फ़िल्टर करूं? पीएचपी में एक जटिल एसोसिएटिव अर्रे पर परावर्तित टास्क बनाम थ्रेड अंतर एनसीआरेंज रेंज <String.Index> सी ++ पाठ फ़ाइल की केवल अंतिम पंक्ति को पढ़ने का सबसे तेज़ तरीका है? दो कॉलम जोड़ें और एक नए कॉलम में जोड़ें मैं node.js से C ++ लाइब्रेरी का उपयोग कैसे कर सकता हूं? क्या है ~~ ("डबल टिल्ड") क्या जावास्क्रिप्ट में है? एंड्रॉइड में क्लिक करने योग्य विगेट्स

जावास्क्रिप्ट गेम पर धोखाधड़ी को रोकें

मैं वर्तमान में जावास्क्रिप्ट / JQuery का उपयोग कर गेम विकसित कर रहा हूं। यह एक साधारण ईंट ब्रेकर प्रकार का खेल रखने का स्कोर, स्तर आदि है। मैं एक नेता बोर्ड को लागू करने की योजना बना रहा हूं जिससे कि उपयोगकर्ता अपने अंतिम स्कोर को इसमें जमा कर सकते हैं इसके साथ ही मैं देख रहा हूं कि अधिकांश ब्राउज़र पर डेवलपर टूल्स का इस्तेमाल करते हुए स्कोर को छेड़ने वाले उपयोगकर्ता समस्याएं हैं। मैं समझता हूं कि चीजों को रखने से सर्वर की ओर से इनमें से अधिकतर समस्याएं हल हो जाएंगी, हालांकि यदि उपयोगकर्ताओं की एक उच्च मात्रा है, तो यह मेरे सर्वर को अनुरोधों के साथ कड़ी मेहनत कर देगा कुकीज़ – क्लाइंट साइड आसानी से बदल दिया। मैं निष्पक्ष गेम खेलने को प्रोत्साहित करने के लिए ईमानदारी से तर्कसंगत विचारों से बाहर हूं क्योंकि हमेशा ऐसे लोग हैं जो नेता बोर्ड के शीर्ष पर धोखा देते हैं / बनते हैं। उस ने कहा, उपयोगकर्ता के स्कोर का ट्रैक रखने के लिए उन्हें बदलने के लिए पहुंच के बिना एक कुशल और प्रभावी तरीका क्या है?

Solutions Collecting From Web of "जावास्क्रिप्ट गेम पर धोखाधड़ी को रोकें"

एक समीकरण बनाकर अपने स्कोर को अस्पष्ट करें, जिसे केवल सर्वर साइड पर कैल्शुएट किया जा सकता है

संपादित करें: रोबग सही है, इसमें क्लाइंट साइड पर गणना की जानी चाहिए।

क्रोम पर लॉन्च होने पर मैंने गुस्सा पक्षी गेम काट दिया था:

http://wesbos.com/all-levels-html5-angry-birds/

हालांकि, उन्होंने कोड को इतना अस्पष्ट कर दिया है कि इसकी गणना करना असंभव है जो कि फ़ंक्शन की गणना करता हैश ..

पृष्ठ को केवल अंतिम स्कोर की बजाय गेम का एक पूर्ण पुन: चलाएं सबमिट करें। यादृच्छिक बीज और उपयोगकर्ता आदानों के फ्रेम रिकॉर्ड द्वारा एक फ्रेम को देखते हुए, आपका सर्वर खेल को अनुकरण और पुनर्निर्माण करने और स्कोर को सत्यापित करने में सक्षम होना चाहिए।

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

आप कोई धोखा दे की गारंटी नहीं दे सकते, यह असंभव है सर्वर अनुरोधों का जवाब देता है, ऐसा ही है। यह पता नहीं है कि क्लाइंट पर कौन से कोड चल रहा है, यह किस प्रकार का उपयोगकर्ता एजेंट या पर्यावरण है या यहां तक ​​कि यह आपके कोड या प्रतिकृति चल रहा है या नहीं।

आप स्पूफिंग को और अधिक कठिन बनाने के लिए विभिन्न कदम उठा सकते हैं, लेकिन आप इसे असंभव नहीं बना सकते ऐसे उपायों की लागत (आमतौर पर "सुरक्षा" के रूप में देखा जाता है) आमतौर पर संपत्ति की सुरक्षा के मूल्य के साथ संतुलित होती है।

क्लाइंट पर कुछ भी मत डालें क्लाइंट दुश्मन के हाथों में है। कभी भी कभी यह भूल नहीं।

– ऑनलाइन विश्व डिजाइन के कानून

एक विचार था कि मैं खेल-टाइमर का उपयोग करना चाहता था। अगर उपयोगकर्ता उस राशि में स्कोर को बदलता है जो स्पष्ट रूप से संभव नहीं है जो पास की गई समय की मात्रा को देखते हुए जानकारी को लॉग इन करने से इनकार करते हैं। आप टाइमर शुरू कर सकते हैं और टाइमर को अपने सर्वर-साइड स्क्रिप्ट में देख सकते हैं।

अब निश्चित तौर पर यदि वे केवल कुछ बिंदुओं से स्कोर बदलते हैं तो यह जांच विफल हो सकती है, लेकिन अगर वे केवल राशि को प्रभावित करने से कम जोड़ते हैं, तो शायद यह आपके लिए ज्यादा मायने नहीं रखेगा?

base64 अपने जावास्क्रिप्ट पेज सांकेतिक शब्दों में बदलना। यह लोगों को IQ नीचे 120 से कम करना चाहिए

http://www.opinionatedgeek.com/dotnet/tools/base64encode/

आप केवल 'विश्वसनीय' मित्रों के साथ स्कोर साझा करके लीडरबोर्ड को कम महत्वपूर्ण बना सकते हैं या बस लोगों को किसी भी सामाजिक नेटवर्किंग साइट पर अपना स्कोर साझा करने की इजाजत देता है। शायद यह पहली जगह पर धोखा देने के लिए प्राथमिक प्रेरणा को हटा देता है

तब आप हमेशा आपके द्वारा इकट्ठे हुए आंकड़ों के साथ पूर्ण रूप से स्कोर की तुलना कर सकते थे, यह बताने के लिए कि कोई अच्छा कर रहा है या नहीं।