특정 사용자 에이전트를 차단할 수 있지만 URLscan v3.1을 사용하여 빈 사용자 에이전트로 모든 요청을 차단하고 싶습니다.URLScan으로 빈 사용자 에이전트 차단
누구든지이 작업을 수행하는 방법을 알고 있습니까?
특정 사용자 에이전트를 차단할 수 있지만 URLscan v3.1을 사용하여 빈 사용자 에이전트로 모든 요청을 차단하고 싶습니다.URLScan으로 빈 사용자 에이전트 차단
누구든지이 작업을 수행하는 방법을 알고 있습니까?
URLScan을 사용하여 구성하는 방법은 없지만 IIS 서버에서 사용자 지정 ISAPI 필터를 사용하여 구성 할 수 있습니다. 여기는 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;
}
나는 거미와 같은 예제 블록 특정 사용자 에이전트가 있습니다. 여기에
RuleList=DenyUserAgent (in the options section)
(place in the end)
[DenyUserAgent]
DenyDataSection=Agent Strings
ScanHeaders=User-Agent
[Agent Strings]
YisouSpider
단어가 ini 파일에 설명을 제공 할 수 있습니다.
UrlScan은이 구성 파일에 지정된 검사 및 옵션 외에도 적용 할 수있는 사용자 지정 규칙을 지원합니다. 규칙은 으로 RuleList 속성의 쉼표로 구분 된 문자열로 나열되어야합니다. 의 각 규칙은이 구성 파일의 두 섹션에 해당하며 하나는 규칙에 대한 옵션을 포함하는 이고 하나는 규칙에 대한 의 거부 문자열을 포함합니다.