首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用URLScan阻止空用户代理

使用URLScan阻止空用户代理
EN

Stack Overflow用户
提问于 2010-09-23 01:35:49
回答 2查看 1.4K关注 0票数 7

我可以阻止某个特定的用户代理,但我希望使用URLscan v3.1阻止具有空用户代理的所有请求。

有人知道怎么做吗?

EN

回答 2

Stack Overflow用户

发布于 2010-11-17 13:37:05

没有办法使用URLScan进行配置,但可以使用IIS服务器上的自定义ISAPI过滤器来完成。下面是C++中的代码:

代码语言:javascript
复制
DWORD WINAPI __stdcall HttpFilterProc(HTTP_FILTER_CONTEXT *pfc, DWORD NotificationType, VOID *pvData) 
{ 
    char buffer[256];
    DWORD buffSize = sizeof(buffer);
    HTTP_FILTER_PREPROC_HEADERS *p;
    switch (NotificationType)  {
      case SF_NOTIFY_PREPROC_HEADERS :
      p = (HTTP_FILTER_PREPROC_HEADERS *)pvData;
      BOOL bHeader = p->GetHeader(pfc,"User-Agent:",buffer,&buffSize); 
      CString UserAgent(buffer);
      if(UserAgent.GetLength() == 0) { // reject blank user agents
        p->SetHeader(pfc, "url", "/rejected-blank-user-agent");
      }
      return SF_STATUS_REQ_HANDLED_NOTIFICATION; 
    }
    return SF_STATUS_REQ_NEXT_NOTIFICATION; 
}
票数 4
EN

Stack Overflow用户

发布于 2014-08-25 23:05:25

我有一个特定于块的用户代理示例,比如爬行器。这是

代码语言:javascript
复制
RuleList=DenyUserAgent   (in the options section)

(place in the end)
[DenyUserAgent]
DenyDataSection=Agent Strings
ScanHeaders=User-Agent

[Agent Strings]
YisouSpider

也许单词可以在ini文件中给出一个解释。

除了此配置文件中指定的其他检查和选项外,UrlScan还支持可应用的自定义规则。规则应在RuleList属性中以逗号分隔的字符串列出。列表中的每个规则对应于此配置文件中的两个部分,一个包含规则的选项,另一个包含规则的拒绝字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3772027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档