接口设计专项方案_第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:关键词组。格式:"机密;秘密;绝密;"//结束调用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

提交评论