2009-08-31 81 views
0

我正在開發一個計劃銷售和分銷的PHP應用程序。我想控制哪些人可以訪問應用程序的主要功能,並通過某種方式調用我的服務器來安裝,這將檢查腳本的安裝位置(example.com)是否在數據庫中,甚至可能檢查許可證密鑰某種程度上。如何使用btcompiler和許可證密鑰保護PHP產品?

  1. 任何人有任何安全分佈式PHP程序的一般準則?我並不期望完全的安全性,但我希望通過試用來發布腳本,並希望阻止普通人修改代碼以避免購買腳本。

  2. 我有兩個想法 - 有一個腳本「電話回家」與腳本服務器地址,並檢查該地址對數據庫(足夠簡單),或除了生成某種類型的許可證密鑰和將該密鑰硬編碼到腳本中,無論是在文件中還是在數據庫中安裝查詢。

我的問題是,如果我走了後一條道路(硬編碼),什麼是硬編碼的最有效的方式在運行時鑰匙插入腳本,這一切包裝成一個獨特的zip文件?

  1. 我將使用bcompiler來嘗試和混淆上面使用的認證功能。我知道你需要支持編譯成PHP的bcompiler,以便編寫字節碼,但是有沒有什麼特殊要求去運行編譯後的字節碼?我的應用程序將在各種機器上運行,但是它們都具有運行PHP5的通用條件,所以代碼需要能夠在限制性託管環境中工作(例如,他們無法上傳外部第三級PHP庫,例如)。

回答

3

考慮看看這些問題/回答可以幫助你至少位:

它不會充分回答你的問題,但仍可能證明是有用的:-)


儘管如此,我的主要思想是,你的問題是比什麼都重要法律問題:如果你的客戶想搶你,他們可能不是客戶你應該儘量保持......最重要的事情可能是與你的客戶簽訂一個穩固的合同,它定義了他們可以做什麼,不能做什麼;總會有人試圖繞過你可以設置的任何「保護」 - 而且他們最有可能會成功......

如果你想進入這種業務,你必須得到一個偉大的EULA;這比技術業務更合法,而且你肯定需要一些工作涉及法律事務的人的幫助。
儘管如此,從您正在使用的應用程序/網站上通過EULA可以給你一些指針。


一點題外話:關於「給家裏打電話」的想法:確保,如果你的「家」網站/應用程序已關閉(這會發生,一天或其他),它不帶關閉已部署應用程序的所有網站 - 我很確定你的客戶不會喜歡這個^^

另外:確保你的軟件「回家」每隔一段時間在EULA /文檔中的某處說明:如果您的客戶自己發現您的應用程序執行的網絡請求不是他們的意願,那麼它會對您的PR造成不利影響。

和:我見過(多次)部署在配置,使他們不能做請求到公司的網絡外(他們說:「安全原因」或類似的東西)服務器應用 - - 在這種情況下你可以做的不多,我想...
另一種方法不是分發應用程序,而是提供服務:不要銷售應用程序本身,而是託管它,然後出售服務 - 這是許多公司做的(例如:google,帶有Gmail或谷歌文檔; bur有很多其他例子),如果服務很好,它可以很好地工作。

我要補充,這給你的更新能力更強,更快地糾正問題,insatnce,或者只是添加新的functionnalities ...你可以選擇誰可以使用該應用程序;-)

Thie控制這個想法最大的問題是,你的應用程序必須知道(幾乎)沒有停機時間:你必須找到一個很好的託管服務,創建備份,被動,能夠快速解決問題......實際上也不是一件容易的事情!

+0

感謝您的意見 - 我與那些會購買我的腳本的人的關係不像提供者 - 客戶端類型,我可以要求籤訂合同,我只是計劃將劇本出售給任何數量的個人,就像任何其他項目一樣。 我並不太在意有關我的代碼的法律問題 - 如果有人想盜用我的代碼,我無法阻止他們。我只是想阻止普通客戶試圖干涉認證系統。 – 2009-08-31 21:30:45

+0

@ Andrew:好的;如果你明白你不能阻止**他們做錯事,但只會讓他們放慢腳步/讓事情變得更難,那真是一件好事。 – 2009-08-31 21:38:09

0

爲什麼不提供託管解決方案?這是大多數創業公司現在提供的。這也意味着你可以從升級中解脫出來。