2009-06-30 112 views
2

如果我對我的應用程序執行許可限制,比如第一次運行應用程序,那麼我的應用程序應該每次檢查限制(可能是加密的許可證文件)嗎?你如何設計這部分?什麼是最好的方法?基本上我希望能夠以某種方式節省CPU週期(加密意味着解密等等)。我希望你能理解我的擔憂。應用程序驗證許可證enforement?

回答

1

這真的取決於你想如何處理它在你的應用程序,你想利用用戶操作的類型。

,如果你只在第一次加載檢查,你將需要存儲驗證的成功/失敗的地方,讓你的應用程序知道它是否是合法與否。這就成爲一個問題,因爲你需要驗證你的系統是唯一實際存儲/更新信息源的東西。

+0

所以在第一次運行,如果我保存「OK,我發現所有的數據的有效許可證我需要運行10個用戶的」,那麼下一次我不會需要嗯... – abmv 2009-06-30 14:42:24

+0

是的,只要你以安全的方式保存這個文件,我喜歡的方法是一個簽名的,加密的XML文件......就像一個魅力。 – 2009-06-30 15:01:17

1

取決於它是什麼樣的應用程序。

如果它是一個桌面應用程序,一旦許可證密鑰驗證......你可以設置一個位的地方,讓你的軟件,知道它是在許可模式下運行。確保該位在應用程序文件夾之外的某個位置(這樣,如果有人直接將您的應用程序複製到另一臺計算機,那麼您的軟件將知道它不再獲得許可)。

如果你試圖做一個Web應用程序,在某處你的網站目錄中的加密許可證文件似乎是一個流行的解決方案。該文件包含許可證類型和域名......然後,您的網絡應用程序會在每次請求時驗證許可證(有一點額外開銷,但您可以快速編寫該代碼)。

0

這取決於您真正希望獲得授權的安全程度。我建議每次應用程序啓動時檢查許可證密鑰 - 這對於CPU /內存操作來說不應該太昂貴。如果你只在其上運行的第一次檢查,那麼它是相當容易被黑客攻擊,關鍵可以一遍又一遍的拆卸和安裝另一臺計算機上。

0

通常,大多數第三方許可解決方案(如FLEXnetRLM)都建議您至少在每次程序運行時都驗證應用程序許可證。通常至少這樣做並不是太昂貴。

在某些情況下 - 你必須確定這是否適用於你 - 它可以使意義更常做的許可檢查。例如,分別對程序的某些軟件許可證組件進行檢查,並在每次訪問該組件時檢查該組件的許可證。使用商業應用程序,就像上面提到的應用程序一樣,這不是那麼昂貴,所以這是相當普遍的做法。