接口設計專項方案_第1頁
接口設計專項方案_第2頁
接口設計專項方案_第3頁
接口設計專項方案_第4頁
接口設計專項方案_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

接口設計方案一、設計方案由甲方調用監控模塊,控制監控模塊啟停、設置策略等,經過甲方調用監控模塊DLL接口將監控策略通知監控模塊,由監控模塊監控相關操作行為,并依據策略配置調用甲方提供文件內容檢驗模塊,對相關文件進行文件內容篩查,來確定文件是否是涉密文件。同時經過甲方程序調用乙方監控模塊DLL接口獲取監控結果。甲方文件內容檢驗模塊甲方文件內容檢驗模塊甲方程序監控甲方程序監控監控模塊DLL一、接口部分(監控模塊DLL,乙方提供)************************************Function:InitDescription:初始化操作Input:無Output:無Return:true:成功,false:失敗Other:***********************************1、boolInit();************************************Function:SetRuleDescription:設置監控規則Input:char*pRule:監控規則,XML格式,見附1Output:無Return:true:成功,false:失敗Other:***********************************2、boolSetRule(char*pRule);************************************Function:StartDescription:設置完規則,開啟監控規則生效Input:無Output:無Return:true:成功,false:失敗Other:***********************************3、boolStart();************************************Function:WaitDataDescription:實時等候獲取監控數據能夠是一條能夠是多條。返回監控結果見附2Input:無Output: int&nCount返回總條數,char**&pData返回數據。Return:-1.異常0.成功獲取數據1.結束/停止(其它地方調用Stop接口停止)Other:提議乙方內部實現用信號、內核事件等處理方法。***********************************4、intWaitData(int&nCount,char**&pData);甲方調用偽代碼:ThreadFunc() //實時線程{While(TRUE){char**pData=NULL;intnCount=0;intnRet=WaitData(nCount,pData); //等候一條或多條數據時返回,沒有數據就等候。switch(nRet){-1.異常continue;0.成功獲取數據pData[0]、pData[1]、……1.結束/停止(其它地方調用Stop停止)Return;}FreeData(pData);}}************************************Function:FreeDataDescription:釋放數據內存接口,對應WaitData函數Input:intnCount要釋放元素數量,char**要釋放數據Output:無Return:無Other:***********************************5、FreeData(intnCount,char**pData);************************************Function:StopDescription:停止監控,監控規則失效Input:無Output:無Return:true:成功,false:失敗Other:***********************************6、boolStop();************************************Function:UnInitDescription:程序退出Input:無Output:無Return:true:成功,false:失敗Other:***********************************7、UnInit();二、文件檢驗模塊/*********************接口說明***************************//創建文件檢驗實例void(*PCreateFileCheckerObject)(IFileChecker**pObject);//釋放文件檢驗實例void(*PReleaseFileCheckerObject)(IFileChecker**pObject);多規則多個關鍵字組合,則創建多個實例-----------------------IFileChecker--------------------------//初始化voidInit(constchar*pName,constchar*pKeyWords);pName:實例名稱隨意。但多個實例并行時不能反復;pKeyWords:關鍵詞組。格式:"機密;秘密;絕密;"http://結束調用voidUnInit();//獲取文件信息boolGetFileInfo(constchar*pFilePath,TipsFileBlock*pTFB);pFilePath:文件路徑pTFB:返回數據結構//釋放文件信息voidFreeFileInfo(TipsFileBlock*pTFB);pTFB:需要釋放數據結構//停止目前文件檢驗voidStopCheck();*************************************************************///------------------------------(.h)頭文件以下-----------------------------#pragmaoncestructTipsFileBlock{ char*pKeyWords;//關鍵字 char*pSecretLevel; //密級:秘密、機密、絕密中一個 char*pFileBlock; //片段};classIFileChecker{public: virtualvoidInit(constchar*pKeyWords)=0; virtualboolGetFileInfo(constchar*pFilePath,TipsFileBlock*pTFB)=0; virtualvoidFreeFileInfo(TipsFileBlock*pTFB)=0; virtualvoidUnInit()=0; virtualvoidStopCheck()=0;};typedefvoid(*PCreateFileCheckerObject)(IFileChecker**pObject);typedefvoid(*PReleaseFileCheckerObject)(IFileChecker**pObject);//------------------------------頭文件end-----------------------------//示例//--------------獲取接口類-----------------HMODULEhDll=LoadLibrary(_T("TipsFileChecker.dll"));if(NULL==hDll)return;PCreateFileCheckerObjectpCreateFileChecker=(PCreateFileCheckerObject)GetProcAddress(hDll,"CreateFileCheckerObject");PReleaseFileCheckerObjectpReleaseFileChecker=(PReleaseFileCheckerObject)GetProcAddress(hDll,"ReleaseFileCheckerObject");if(NULL==pCreateFileChecker||NULL==pReleaseFileChecker)return;IFileChecker*pFileChecker=NULL;pCreateFileChecker(&pFileChecker);//---------------初始化提供關鍵字------------CStringAstrName="FeiMi1"; //多個實例名稱任意,但不一樣。比如:FeiMi2、FeiMi3、…CStringAstrKeyWords="秘密;機密;絕密;";pFileChecker->Init(strName,strKeyWords);//----------------文件命中片段提取---------CStringAstrFilePath="C:\\123.docx";TipsFileBlockfb;pFileChecker->GetFileInfo(strFilePath,&fb);//....pFileChecker->FreeFileInfo(&fb);//----------------------結束釋放----------------pFileChecker->StopCheck();pFileChecker->UnInit();pReleaseFileChecker(&pFileChecker);FreeLibrary(hDll);三、附附1:規則XML:<TipsTCM><TipsTypeType="Rule"><Rule><NetOperIsMon="1" Type="上傳;下載;" MonFileType="txt;doc;"MonProcess="qq.exe;explorer.exe;"WhiteProcess="explorer.exe;wps.exe;"IsBan="0"><NetContent IsMon="1" Type="上傳;下載;" FileNameWords="秘密;絕密;"ContentWords="秘密;絕密;"MonFileType="txt;doc;"MonProcess="qq.exe;explorer.exe;"WhiteProcess="word.exe;wps.exe;"IsBan="0"></Rule></TipsType></TipsTCM>解釋:TipsTypeType="Rule"為規則xmlIsMon:是否監控1監控0不監控MonPath:監控文件夾,采取分號拼接,假如為空表示全盤監控MonFileType:監控文件類型,采取分號拼接,假如為空表示不限類型IsBan:是否攔截1攔截0不攔截FileNameWords:文件名檢驗關鍵字,假如為空表示不檢驗ContentWords:文件內容檢驗關鍵字,假如為空表示不檢驗WhiteProcess:進程白名單WhitePath:監控路徑白名單MonProcess:監控進程,假如為空表示全部監控附2:結果XML:NET操作行為監控舉例:<TipsTCM><TipsTypeType="Result"><TipsResultType="NetOper"><ResultFilePath="c:\1.txt"Process="explorer.exe" OperType="上傳"FileType="txt"IsBan="0"/></TipsResult></TipsType></TipsTCM><TipsTCM><TipsTypeType="Result"><TipsResultType="NetOper"><ResultFilePath="c:\1.txt"Process="explorer.exe" OperType="下載"FileType="txt"IsBan="0"/></Tips

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論