授權(quán)-解決方案
授權(quán)需求1、 基于根域名授權(quán),同一個(gè)域名的不同子域名可以使用2、 授權(quán)必須有驗(yàn)證,也就是安裝時(shí)通過(guò)授權(quán)碼與域名配對(duì),最好有一個(gè)與授權(quán)服務(wù)器通訊的機(jī)制,也就是聯(lián)機(jī)授權(quán),二是部分代碼在授權(quán)服務(wù)器上,最簡(jiǎn)單
授權(quán)需求
1、 基于根域名授權(quán),同一個(gè)域名的不同子域名可以使用
2、 授權(quán)必須有驗(yàn)證,也就是安裝時(shí)通過(guò)授權(quán)碼與域名配對(duì),最好有一個(gè)與授權(quán)服務(wù)器通訊的機(jī)制,也就是聯(lián)機(jī)授權(quán),二是部分代碼在授權(quán)服務(wù)器上,最簡(jiǎn)單的方式就是加密一個(gè)CSS ,而這個(gè)CSS 放在我們授權(quán)服務(wù)器
3、 授權(quán)文件在核心代碼里面,但是要求對(duì)其他人二次開發(fā)沒有影響。也就是不需要知道授權(quán)機(jī)制可以開發(fā)
4、 必須有域名授權(quán)管理系統(tǒng):前期只需要同系統(tǒng)可以查詢到域名是否授權(quán),管理員或者有一定權(quán)限人可以通過(guò)系統(tǒng)添加域名做到授權(quán),再有一行就是技術(shù)支持到期時(shí)間查詢
5、 具體域名授權(quán)希望是有2個(gè)地方限制,一個(gè)是安裝的時(shí)候限制,另外一個(gè)是通過(guò)基礎(chǔ)應(yīng)用通知的時(shí)候限制,如果沒有通過(guò)驗(yàn)證的程序在會(huì)提示盜版
6、 PHP 代碼加密考慮http://www.phpjm.net/buy.html 7、 參考實(shí)現(xiàn)方式
授權(quán)解決方案
授權(quán)服務(wù)器被動(dòng)鏈接的解決方案
分析:
根據(jù)需求??紤]到有兩種授權(quán)方式:
1、生成授權(quán)文件存放到網(wǎng)站跟目錄,
2、將授權(quán)信息寫入SQL 中/文件中,
第一種要實(shí)現(xiàn)授權(quán)需求需要服務(wù)器支持。第二種只需進(jìn)行代碼修改即可。
將授權(quán)信息存放于SQL 中/文件中:
授權(quán)需求基于根域名授權(quán)。及thinksns.com 頂級(jí)域名下面的www.thinksns.com;test.thinksns.com;coc.thinksns.com...... 都可以獲得授權(quán)信息。
我們可以將授權(quán)碼(cod 碼)于當(dāng)前站點(diǎn)的域名以CURL (比較隱秘的方式)或其他方式傳遞給授權(quán)服務(wù)器。并接收服務(wù)器回傳信息。
這樣無(wú)論子域名網(wǎng)站部署到任何IP 地址上都可以獲得授權(quán)。
,
站點(diǎn)在開發(fā)中可能要記過(guò)好幾個(gè)環(huán)境進(jìn)行開發(fā)測(cè)試。
并且不同環(huán)境的網(wǎng)絡(luò)通訊狀態(tài)也不相同。大致可以分為以下幾種情況。
1、開發(fā)環(huán)境,并且開發(fā)環(huán)境直接在本地電腦中(無(wú)法和授權(quán)服務(wù)器連接通訊),
2、網(wǎng)絡(luò)環(huán)境中(新建站點(diǎn)-從壓縮包直接安裝)(可以和授權(quán)服務(wù)器連接通訊),
3、網(wǎng)絡(luò)環(huán)境中(已有站點(diǎn)-從其他地方挪移到當(dāng)前環(huán)境)(可以和授權(quán)服務(wù)器連接通訊),
4、正式環(huán)境(新建站點(diǎn)-從壓縮包直接安裝),
5、正式環(huán)境(已有站點(diǎn)-從其他地方挪移到當(dāng)前環(huán)境)。
授權(quán)信息不能影響開發(fā)工作。所以挪移站點(diǎn)和無(wú)網(wǎng)狀態(tài)下都必須獲得開發(fā)全部權(quán)限。
當(dāng)環(huán)境無(wú)法聯(lián)網(wǎng)時(shí)。我們需要在環(huán)境中存儲(chǔ)開發(fā)環(huán)境的cod 碼以及開發(fā)用的加密串。
當(dāng)新建站點(diǎn)-從壓縮包直接安裝并且可以和服務(wù)器通訊時(shí)。如果用戶安裝填寫了有效的授權(quán)碼(cod 碼)可以正式授權(quán)。如果用戶沒有填寫授權(quán)碼(cod 碼),則默認(rèn)添加開發(fā)測(cè)試信息。

這樣可以保證不影響開發(fā)環(huán)境已經(jīng)測(cè)試環(huán)境。
對(duì)于站點(diǎn)的挪移。要實(shí)現(xiàn)授權(quán)我們要在前臺(tái)登錄時(shí)做一次授權(quán)驗(yàn)證。如果授權(quán)成功重置驗(yàn)證信息。
,
在安裝新功能時(shí),我們也可以做一步驗(yàn)證操作。

在這幾部操作中。我們需要記錄的信息有
1、cod 碼
2、URL (域名)進(jìn)行遷站驗(yàn)證
3、加密串
加密串中可以包含一下信息:授權(quán)到期時(shí)間(擴(kuò)展有期限的授權(quán)),授權(quán)插件(擴(kuò)展插件控制)可以包含核心樣式文件信息。或者一個(gè)項(xiàng)目的核心方法。
以上幾步基本可以解決網(wǎng)站授權(quán)需求。
,
授權(quán)服務(wù)器主動(dòng)鏈接的解決方案
如我們可以在核心JS 里面加上觸發(fā)條件在一定時(shí)間內(nèi); 給我們的授權(quán)服務(wù)器發(fā)送域名通知。 我們可以根據(jù)我們的核心代碼反向的,找到我們的代碼部署位置。并通過(guò)預(yù)留授權(quán)接口授權(quán)該部分代碼。
這么搞似乎比較陰險(xiǎn)。
這樣搞對(duì)授權(quán)服務(wù)器沒有壓力。而且可以防止核心代碼泄露。就是很陰險(xiǎn),要在核心里面留門。
域名授權(quán)管理系統(tǒng)
域名授權(quán)管理系統(tǒng),根據(jù)需求包括兩部分。
一、授權(quán)驗(yàn)證接口,
二、授權(quán)信息管理。
授權(quán)驗(yàn)證接口:
這部分是用于授權(quán)驗(yàn)證信息的驗(yàn)證。按照不同驗(yàn)證步奏返回不同驗(yàn)證信息??赡芪覀兠總€(gè)項(xiàng)目的插件都是不同的。所有我們的返回值及加密串需要設(shè)計(jì)自定義部分。 授權(quán)信息管理:
授權(quán)信息管理是,對(duì)于授權(quán)域名的增刪改查等功能的操作,以及授權(quán)碼的管理操作。由于域名驗(yàn)證返回值得不確定性,我們應(yīng)該預(yù)留一些字段用于這塊的填充。