दिलचस्प पोस्ट
Google विज़ुअलाइज़ेशन चार्ट एपीआई उदाहरण टूट गए हैं, उन्हें ठीक कैसे करें? HTML5 का उपयोग करके कस्टम डेटा विशेषताओं पर jQuery चयनकर्ता मैं डिवि कंटेनर में फिट करने के लिए एक छवि को कैसे बदलूंगा? "धागा-सुरक्षित" कोड का क्या मतलब है? ऐप को अनइंस्टॉल किए जाने पर कीचैन आइटम हटाएं मैं .exe के लिए मेरे पायथन 3 ऐप को कैसे संकलित कर सकता हूं? गिट पर पुल अनुरोध कैसे भेजें मैं नवीनतम निर्भरता के लिए package.json में प्रत्येक निर्भरता को कैसे अपडेट कर सकता हूं? जावा – दो स्ट्रिंग के बीच सभी स्ट्रिंग्स को पकड़ने का सबसे अच्छा तरीका है? (regex?) क्लासनोटफ़ाउंड अपवाद जब ईक्लीपस बिल्ड पथ में यूजर लाइब्रेरी का उपयोग करते हुए अंगुलियस सीओआरएस मुद्दे HTML दिनांक इनपुट टैग में दिनांक प्रारूप कैसे सेट करें? मैं <script> टैग के 'src' के रूप में निर्दिष्ट फ़ाइल की सामग्री कैसे प्राप्त करूं? php shell_exec () बनाम exec () एंड्रॉइड: मैं कैसे जांचूं कि गतिविधि चल रही है?

मैं 30 दिन के लिए एक परीक्षण संस्करण के रूप में अपना उत्पाद कैसे बना सकता हूं?

मैंने अपना उत्पाद बना लिया है और उसके लिए लाइसेंस कुंजी तैयार की है लेकिन मैं 30 दिनों के बाद उस कुंजी को पूछना चाहता हूं मैं इसे रजिस्ट्री मान में 30 दिनों को जोड़ने के साथ तारीख को भंडारण के साथ किया है लेकिन मुझे पता चला कि यदि उपयोगकर्ता मेरे तर्क से काम नहीं करने से 30 दिन पहले प्रणाली की तारीख बदलते हैं

तो क्या सिस्टम की तारीख की जांच किए बिना परीक्षण संस्करण के लिए कोई हल है और केवल 30 दिनों की सुनवाई की अनुमति है?

वेब के समाधान से एकत्रित समाधान "मैं 30 दिन के लिए एक परीक्षण संस्करण के रूप में अपना उत्पाद कैसे बना सकता हूं?"

आपके पास एक और रजिस्ट्री कुंजी हो सकती है जो आप प्रत्येक दिन के उपयोग के बाद वृद्धि करते हैं इस तरह, भले ही वे कंप्यूटर की तारीख बदल दें, यह कुंजी आपके प्रोग्राम को इंगित करेगी कि यह> 30 दिनों के लिए चल रहा है

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

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

दिन के अंत में, उपयोगकर्ता के पास अपनी मशीन पर पूर्ण नियंत्रण होता है और संभवत: जो कुछ भी करना चाहते हैं, उसके आस पास एक रास्ता मिल सकता है (वेब ​​सेवा तक पहुंचने की कमी है, जहां उपयोगकर्ता को ऐप का इस्तेमाल करने से पहले यह विवरण रखा जाता है )। आपको संभवत: उन लोगों को रोकने की कोशिश में इतना ऊर्जा खर्च नहीं करनी चाहिए, जो इस अतिरिक्त परेशानी से गुजरने के लिए तैयार हैं, लेकिन इसके बजाय अतिरिक्त समय / पैसा / ऊर्जा खर्च करने वालों को ऐप में सुधार करने के लिए खर्च करना चाहिए।

आप लाइसेंसिंग घटक का उपयोग कर सकते हैं आप खुद को एक बना सकते हैं ( लाइसेंस प्रबंधक वर्ग देखें), या विक्रेता से एक खरीद सकते हैं (उदाहरण के लिए क्रिप्टो लिकेंसिंग )।

मेरे पास आपके लिए एक सरल समाधान है

रजिस्ट्री के लिए 2 चर ले लो: 1. तारीख 2. काउंटर

कदम:

  1. एक काउंटर सेट करें = 1

  2. प्रतिस्थापन तिथि से दिनांक

  3. प्रत्येक तिथि की जांच करें यदि तारीख वर्तमान दिनांक से अलग है, उस तारीख को रजिस्ट्री की तारीख की प्रतिलिपि की तुलना में, काउंटर को 1 से बढ़ाना भी होगा। यदि दिनांक समान है, तो कुछ भी मत करो।

  4. अब आप परीक्षण दिन समाप्ति के लिए काउंटर की जांच कर सकते हैं

इन चालियों का उपयोग करके, यदि उपयोगकर्ता सिस्टम तिथि को पिछले तिथि से भी बदलता है, तो यह काम करता है।

रजिस्ट्री के लिए आप तारीख और काउंटर एन्क्रिप्ट कर सकते हैं ताकि तकनीकी व्यक्ति आपके तर्क को पहचान नहीं पाएंगे!

चियर्स …

जोड़ा

यह तर्क केवल तभी विफल होता है जब उपयोगकर्ता प्रत्येक दिन की तारीख को बदलता नहीं है! फिर हम उस के लिए समाधान है!

मुझे नहीं पता कि यह संभव है या नहीं, लेकिन आप हमेशा कुछ हल कर सकते हैं:

  1. परीक्षण अवधि के लिए कुल समय की गणना करें और इसे रजिस्ट्री में जमा करें।
  2. अब प्रत्येक रन के लिए कुल समय की गणना करें और इसे दूसरे चर में जोड़ें। (मुझे उम्मीद है कि यह टाइमर द्वारा किया जा सकता है)
  3. समाप्ति के लिए निर्णय लेने के लिए दो मूल्यों की तुलना करें।

आपको यह पता लगाने का एक तरीका है कि उपयोगकर्ता ने जब आपने पहली बार मुकदमा शुरू किया था, तब से उस तिथि को बदलता है। मैंने पहले उपयोग किए गए समाधानों में, हमने "आखिरी क्रियान्वित" तिथि और "पहले निष्पादित" तारीख को बचा लिया है और यदि घड़ी "आखिरी निष्पादित" के दो दिनों से अधिक समय में बदलता है, तो हम मुकदमा समाप्त कर देते हैं। आपको एक "दिन निष्पादित" काउंटर की भी ज़रूरत है, ताकि वे दो दिन पहले (उस भाग का उल्लेख करने में भूल गए) तारीख को आगे नहीं रख सकें- प्रत्येक निष्पादन पर काउंटर बढ़ता जाता है

बेशक, इस तरह की सॉफ्टवेयर लाइसेंसिंग सिस्टम हमेशा अनइंस्टॉल करने और रजिस्ट्री के उचित रीफ्रेशिंग के साथ पुनर्स्थापना द्वारा परिहार्य होते हैं – यह चाल मुश्किल है कि आपके लाइसेंस जानकारी को अस्पष्ट बनाने और दोहराए जाने के लिए पर्याप्त है, लेकिन अंत में, यह मिल जाएगा (विशेषकर यदि आप एक अप्रतिबंधित। NET कोडबेस का उपयोग करना)।

सिस्टम दिनांक / घड़ी के संदर्भ के बिना 30 दिनों की प्रक्रिया करने के लिए मुश्किल। आप हमेशा उन तिथियों की एक सूची रख सकते हैं, जिस पर ऐप शुरू किया गया था और हर बार जब पिछली बार से अलग था, तब वह 1 गिनती करता था। इस तरह आपके उपयोगकर्ता को आपके ऐप को हर बार निकालते समय उसी तिथि को सेट करना होगा।

इसके अलावा, आप इंटरनेट एक्सेस कर सकते थे, वर्तमान तिथि के लिए एक ज्ञात अच्छा समय सर्वर पूछ सकते हैं। इसे डिस्कनेक्ट करने से बाधित किया जा सकता है लेकिन आपका ऐप शुरू होने से पहले आप हमेशा एक इंटरनेट कनेक्शन की मांग कर सकते हैं।

अंत में, एक हार्डवेयर डोंगल या समान के माध्यम से एक बाह्य, स्थानीय समय स्रोत, लेकिन मुझे लगता है कि आप चरम पर पहुंच रहे हैं जहां आप सीधे व्यक्तियों में परीक्षण का प्रबंधन करना चाहते हैं

यदि आप एक इंटरनेट कनेक्शन की गारंटी दे सकते हैं तो आप एक ऑनलाइन योजना (एक समय सर्वर या अपने स्वयं के प्रमाणीकरण सर्वर की जांच) को लागू कर सकते हैं बेशक, एक और निर्भरता का परिचय – यदि इंटरनेट दूर हो जाता है, तो आपके उपयोगकर्ता काम नहीं कर सकते।

आखिरकार मैं कह सकता हूं कि एक तीसरी पार्टी लाइसेंसिंग समाधान खरीदना – यह अभी भी अटूट नहीं है, लेकिन यह संभवतः आपके द्वारा बहुत अधिक समय और प्रयास किए बिना खुद को कुछ ज्यादा मजबूत कर सकता है।

आखिरी रन की तारीख को स्टोर करें, और जब भी सिस्टम की तारीख पहले होती है, परीक्षण की समय सीमा समाप्त हो जाती है।

एकमात्र असफल-सुरक्षित पद्धति, आपके द्वारा होस्ट की जाने वाली सेवा के खिलाफ ऐप को मान्य करना है, मान लें कि कोई भी आपका कनेक्शन कोड टूट नहीं सकता;)

जब तक वे रजिस्ट्री मान / अलग संग्रहण फ़ाइल / सहेजी गई सेटिंग्स को साफ़ कर सकते हैं: वे सिर्फ परीक्षण को पुनः आरंभ कर सकते हैं आप उस बारे में बहुत कुछ नहीं कर सकते यही कारण है कि लोगों को समय-आधारित परीक्षण अवधि के अलावा परीक्षण सॉफ़्टवेयर में कम कार्यक्षमता का विकल्प चुनना पड़ता है।

अगर इसकी स्वीकार्यता 8 घंटे की परीक्षण उपयोग (30 दिन की सुनवाई के बजाय) को कहती है, तो सिस्टम डेटटाइम पर निर्भरता को निकालने का एक तरीका यह है कि आपके ऐप में टाइमर का इस्तेमाल करके जो हर मिनट कहा जाता है इन की गणना करें और हर बार जब ऐप चला हो, तो यह कुल उपयोग मिनट की गिनती जमा कर देगा। फिर आप इस गिनती मान को कहीं न कहीं स्टोर कर सकते हैं, जैसे कि रजिस्ट्री में।

यह सरल स्टोर मूल्यांकन की समाप्ति तिथि है और हर दिन इसके लिए जांचें। तिथि में हेरफेर द्वारा विस्तारित उपयोग से बचने के लिए, आवेदन में एक घंटे की गिनती बनाए रखें; बढ़ते रहें और इसे रजिस्ट्री में लिखना जांच दोनों की समाप्ति तिथि और घंटे की गिनती 24 से अधिक नहीं होने की जांच के लिए किया जाना चाहिए (कुछ तिलेंस के साथ 30 हो सकता है)

इसके बारे में भी सोचें:

आवेदन को बंद करने की दिनांक समय सहेजा जा रहा है, अगली बार जब आप अपना आवेदन शुरू करेंगे तो यह पता लगा सकेगा कि क्या दिनभर सेटिंग बदल गई थी या नहीं (कम से कम वे इसे समापन समय से पहले कुछ नहीं बदल सकते हैं)। उदाहरण :

आवेदन समापन पर:

समय सहेजा जा रहा है>> 15:34 03/31/2014 (सहेजे गए)

अगला आवेदन शुरू करने से:

डेटीम देखें.अब> 15:34 03/31/2014। (इसलिए वे यह नहीं कह सकते …)

जोड़ा:

किसी भी तरह से अपने एप्लिकेशन उपयोग में सिस्टम की डेट टाइम सेटिंग्स को एकीकृत करने की कोशिश करें: इनवॉइस, टिकट, प्राप्तियां उत्पन्न … जो भी हो!

आप मुफ्त परियोजना Libprot का उपयोग कर सकते हैं साइट https://github.com/libprot/trunk है

विचार यह है कि यह सरल और उपयोग करना आसान होना चाहिए आप सुरक्षा पर $ $ $ खर्च कर सकते हैं लेकिन इसका एक हफ्ते में हैक किया जा सकता है अगर कोई आपके कोड का रिवर्स इंजीनियरिंग करना चाहता है तो कोई इसे रोक नहीं सकता है। सरल तरीके से काम करने की मेरी सलाह

जैसे एक स्ट्रिंग लिखें:

कंपनी एक्स | 10.2.2014 | 1.12.2015

जहां 10.2.2014 वर्तमान तारीख है और यदि सिस्टम का समय कम है तो किसी ने सिस्टम घड़ी = = हमें बदलना नहीं चाहिए

1.12.2015 – जब तक कुंजी वैध नहीं होती तब तक

और कंपनी का नाम जो इसे खरीदा / डाउनलोड किया।

उस स्ट्रिंग को निजी / सार्वजनिक कुंजी के साथ असममित एल्गोरिथ्म के साथ अस्पष्ट किया जाना चाहिए और स्ट्रिंग में एन्कोड किया गया है जिसे आप ई-मेल द्वारा भेज सकते हैं, उदाहरण के लिए

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

आप स्वचालित रूप से परीक्षण कोड को भेजने के लिए अपनी साइट में कुछ PHP / java स्क्रिप्ट जोड़ सकते हैं।