求IIS开发资料 如是,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IISAPI过滤器和扩展跟普通DLL没有什么分别. 如果处理请求需要填充OnPreprocHeaders;我很久前的程序.static char sResulta[]=".asp";//static char sResultm[]=".";//static char sResult1[]=".";//static char sResult2[]=".";//static char sResult3[]=".";//static char sResult4[]=".";static char sResultw[]="/khgl/";DWORD CFFDFilter::OnPreprocHeaders(CHttpFilterContext* pCtxt, PHTTP_FILTER_PREPROC_HEADERS pHeaderInfo){ // TODO: React to this notification accordingly and // return the appropriate status code char buffer[1024]; DWORD bufferSize=sizeof(buffer); pHeaderInfo->GetHeader(pCtxt->m_pFC,"url",buffer,&bufferSize); char *pResulta=strstr(buffer,sResulta); //char *pResultm=strstr(buffer,sResultm);//主界面 //char *pResult1=strstr(buffer,sResult1);//主界页框1 //char *pResult2=strstr(buffer,sResult2);//主界面页框2 //char *pResult3=strstr(buffer,sResult3);//主界面页框3 //char *pResult4=strstr(buffer,sResult4);//主界面页框4 char *pResultw=strstr(buffer,sResultw);//要加密过滤的网站名 if(pResulta!=NULL // &&pResultm==NULL // &&pResult1==NULL // &&pResult2==NULL // &&pResult3==NULL // &&pResult4==NULL &&pResultw!=NULL ) { if(g_delfilename.IsEmpty()==0) { CFile::Remove(g_delfilename); } else { }// pHeaderInfo->SetHeader(pCtxt->m_pFC,"url","/Error_zgy.htm");//解密代码开始位置 CFile rf; CFileException re; CFile jf; CFileException je; //密匙 short int ms[24]={9,8,8,2,1,5,6,1,1,1,6,8,6,2,3,8,9,4,5,9,8,4,0,1}; //9882156,111686,23894598,401; CString m_filepath; m_filepath.Empty(); CString m_filevalue; m_filevalue.Empty(); m_filevalue.ReleaseBuffer(); int iLen; iLen=0; CString m_addfilename; m_addfilename.Empty(); CString m_addfilevalue; m_addfilevalue.ReleaseBuffer(); m_filepath=buffer; int iLf=pResulta-buffer; m_filepath.Replace("/","\\"); m_filepath="e:\\gjd"+m_filepath.Left(iLf)+".167"; if(rf.Open(m_filepath,CFile::modeRead,&re)!=0) { iLen=(int)rf.GetLength(); short int *pBuffer=new short int[iLen]; rf.Read(pBuffer,iLen); rf.Close(); m_addfilename=buffer; int iLd=pResulta-buffer; m_addfilename.Replace("/","\\"); m_addfilename="e:\\gjd"+m_addfilename.Left(iLd)+".asp"; if(jf.Open(m_addfilename,CFile::modeWrite|CFile::modeCreate,&je)!=0) { g_delfilename=m_addfilename; //解密处理 int i=0; short int iRand=11; int j=0; while(i<iLen/2) { short int hTemp; hTemp=*pBuffer; char pTemp; if(j==24) { j=0; } pTemp=(char)((short int)hTemp/(ms[j]+iRand)); jf.Write(&pTemp,sizeof(char)); pBuffer++; i++; j++; } jf.Close(); m_filepath.Empty(); m_filevalue.Empty(); m_filevalue.ReleaseBuffer(); m_addfilename.Empty(); m_addfilevalue.Empty(); m_addfilevalue.ReleaseBuffer(); //delete pBuffer; pHeaderInfo->SetHeader(pCtxt->m_pFC,"url",buffer); return SF_STATUS_REQ_NEXT_NOTIFICATION; } else { return SF_STATUS_REQ_ERROR; } } else { return SF_STATUS_REQ_ERROR; }//解密代码结束 } else { return SF_STATUS_REQ_NEXT_NOTIFICATION; }} 如果要操作虚拟路径之类,可以查看C:\Inetpub\iissamples\sdk\admin目录下的js文件. 控制台SetConsoleCtrlHandler问题 300元求改C程序源码 关于MessageBox()的问题 我已经在“组件服务”注册了我的com+组件 在客户端 我怎么样调试它呢 希望您给支个招!!!谢了 ODBC CreateProcess的时候找不到指定文件 在VC使用暴风影音控件播放多媒体,但是如何获取该控件事件? s2005 使用一个类库,提示没有找到*dll文件,dll比较多,不想都放到system下,怎么设置下 使用C写WAV文件出现错误? 如何把硬盘某个目录下的文件一起压缩成 ISO镜像文件 急问!!
需要填充OnPreprocHeaders;我很久前的程序.
static char sResulta[]=".asp";
//static char sResultm[]=".";
//static char sResult1[]=".";
//static char sResult2[]=".";
//static char sResult3[]=".";
//static char sResult4[]=".";
static char sResultw[]="/khgl/";
DWORD CFFDFilter::OnPreprocHeaders(CHttpFilterContext* pCtxt,
PHTTP_FILTER_PREPROC_HEADERS pHeaderInfo)
{
// TODO: React to this notification accordingly and
// return the appropriate status code
char buffer[1024];
DWORD bufferSize=sizeof(buffer);
pHeaderInfo->GetHeader(pCtxt->m_pFC,"url",buffer,&bufferSize);
char *pResulta=strstr(buffer,sResulta);
//char *pResultm=strstr(buffer,sResultm);//主界面
//char *pResult1=strstr(buffer,sResult1);//主界页框1
//char *pResult2=strstr(buffer,sResult2);//主界面页框2
//char *pResult3=strstr(buffer,sResult3);//主界面页框3
//char *pResult4=strstr(buffer,sResult4);//主界面页框4
char *pResultw=strstr(buffer,sResultw);//要加密过滤的网站名
if(pResulta!=NULL
// &&pResultm==NULL
// &&pResult1==NULL
// &&pResult2==NULL
// &&pResult3==NULL
// &&pResult4==NULL
&&pResultw!=NULL
)
{
if(g_delfilename.IsEmpty()==0)
{
CFile::Remove(g_delfilename);
}
else
{
}
// pHeaderInfo->SetHeader(pCtxt->m_pFC,"url","/Error_zgy.htm");
//解密代码开始位置
CFile rf;
CFileException re;
CFile jf;
CFileException je;
//密匙
short int ms[24]={9,8,8,2,1,5,6,1,1,1,6,8,6,2,3,8,9,4,5,9,8,4,0,1};
//9882156,111686,23894598,401;
CString m_filepath;
m_filepath.Empty();
CString m_filevalue;
m_filevalue.Empty();
m_filevalue.ReleaseBuffer();
int iLen;
iLen=0;
CString m_addfilename;
m_addfilename.Empty();
CString m_addfilevalue;
m_addfilevalue.ReleaseBuffer();
m_filepath=buffer;
int iLf=pResulta-buffer;
m_filepath.Replace("/","\\");
m_filepath="e:\\gjd"+m_filepath.Left(iLf)+".167";
if(rf.Open(m_filepath,CFile::modeRead,&re)!=0)
{
iLen=(int)rf.GetLength();
short int *pBuffer=new short int[iLen];
rf.Read(pBuffer,iLen);
rf.Close();
m_addfilename=buffer;
int iLd=pResulta-buffer;
m_addfilename.Replace("/","\\");
m_addfilename="e:\\gjd"+m_addfilename.Left(iLd)+".asp";
if(jf.Open(m_addfilename,CFile::modeWrite|CFile::modeCreate,&je)!=0)
{
g_delfilename=m_addfilename;
//解密处理
int i=0;
short int iRand=11;
int j=0;
while(i<iLen/2)
{
short int hTemp;
hTemp=*pBuffer;
char pTemp;
if(j==24)
{
j=0;
}
pTemp=(char)((short int)hTemp/(ms[j]+iRand));
jf.Write(&pTemp,sizeof(char));
pBuffer++;
i++;
j++;
}
jf.Close();
m_filepath.Empty();
m_filevalue.Empty();
m_filevalue.ReleaseBuffer();
m_addfilename.Empty();
m_addfilevalue.Empty();
m_addfilevalue.ReleaseBuffer();
//delete pBuffer;
pHeaderInfo->SetHeader(pCtxt->m_pFC,"url",buffer);
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
else
{
return SF_STATUS_REQ_ERROR;
}
}
else
{
return SF_STATUS_REQ_ERROR;
}
//解密代码结束
}
else
{
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
}