2010-09-22 19 views

risposta

4

Non c'è un modo per configurarlo utilizzando URLScan, ma può essere fatto con un filtro ISAPI personalizzato sul proprio server IIS. Eccolo in C++:

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; 
} 
0

Ho un user-agent specifico per blocchi di esempio come spider. Ecco

RuleList=DenyUserAgent (in the options section) 

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

[Agent Strings] 
YisouSpider 

Forse la parola potrebbe dare una spiegazione nel file ini.

UrlScan supporta regole personalizzate che possono essere applicate in aggiunta agli altri assegni e opzioni specificati in questo file di configurazione. Le regole devono essere elencate in una stringa separata da virgole nella proprietà RuleList. Ogni regola in l'elenco corrisponde a due sezioni in questo file di configurazione, una contenente le opzioni per la regola e una contenente stringhe di rifiuto per la regola .

Problemi correlati