ISAPI中的OnSendRawData过滤问题

realali 2008-01-16 09:46:58
当用OnSendRawData来进行过滤,如过滤"偷拍",中文占四个字节替换成"****",假如我想替换成"非法内容,请您文明上网",被替换的字节数已经改变.

请问如何处理?在哪里增加数据包大小?

非常感谢
...全文
168 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
realali 2008-01-16
  • 打赏
  • 举报
回复
DWORD CqzisapiFilter::OnSendRawData(CHttpFilterContext* pCtxt,
PHTTP_FILTER_RAW_DATA pRawData)
{
// TODO: 相应地响应此通知并
//返回适当的状态代码
char* pchIn = (char*)pRawData->pvInData;
char * ReplaceStr(char* pchIn, char* token);
ReplaceStr(pchIn,"偷拍");

}
char * ReplaceStr(char* pchIn, char* token)
{
char* ret = pchIn;
char* pNextStart = pchIn; // 假定pinch为C字符串
char * pTarget;
do
{
pTarget = strstr(pNextStart , token);
if (pTarget)
{
for (unsigned int i=0; i<strlen(token); ++i)
pTarget[i] = '*';//这里是一个个字节的替换
pNextStart = pTarget;
}
} while (pTarget);
return ret;
}
以上为相关代码

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧