Sono in grado di bloccare un agente utente specifico, ma vorrei bloccare tutte le richieste con un agente utente vuoto utilizzando URLscan v3.1.Blocca agente utente vuoto con URLScan
Qualcuno sa come fare?
Sono in grado di bloccare un agente utente specifico, ma vorrei bloccare tutte le richieste con un agente utente vuoto utilizzando URLscan v3.1.Blocca agente utente vuoto con URLScan
Qualcuno sa come fare?
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;
}
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 .